未加星标

win2008 64w位系统上iis运行32位的网站程序(iis7.5开启32位)

字体大小 | |
[运维安全 所属分类 运维安全 | 发布者 店小二04 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

由于网站调用了一个第三方的32bit的dll,所以发布在64位的2008后,访问网站的时候出现加载该dll不成功的错误。

解决方法:

在iis上面设置该网站可运行在32位的模式下面。

步骤如下:

1、找到该网站所引用的应用程序池。

win2008 64w位系统上iis运行32位的网站程序(iis7.5开启32位)

2、在该应用程序池的高级设置里面―――》常规――》启用32位应用程序,设置该值为true

win2008 64w位系统上iis运行32位的网站程序(iis7.5开启32位)

问题解决。

下面是其他网友的补充:

部署一个WEB项目,在本机、本地服务器都没有问题,但部署到远程服务器以后,提示有个DLL无法加载:
Server Error in '/' Application.

Could not load file or assembly 'Common.Component.Repository' or one of its dependencies. An attempt was made to load a program with an incorrect format.

首先肯定的是,系统声称无法加载的DLL千真万确存在

其次从本机、本地服务器都没有问题推测,似乎最有可能的原因是该远程服务器的环境有问题。但是,远程服务器是装了.NET4.5.2的,并且跑其他WEB项目都没问题。WEB项目所对应的应用程序池也是4.0,排除选了2.0的原因。

后来该WEB项目的开发者在IIS的应用程序池上开启了32位支持,问题解决。原来,远程服务器的是64位的WIN SERVER 2008。

在 IIS 7.x 中,要“启用 32bit 应用程序支持”,需要对“应用程序池”进行配置。将“enable32BitAppOnWin64”设置为“True”。这样便将应用程序池的工作进程设置为 WOW64 模式,而在 WOW64 模式下,工作进程将仅加载 32 位应用程序的 32 位进程。为了避免影响其他网站,可为 32bit 应用程序的网站单独创建一个应用程序池。下面 gOxiA 将引导大家如何在 IIS 7.x 下启用 32bit 应用程序支持。

为 32bit 应用程序的网站单独创建一个应用程序池,操作过程省略……;
打开“Internet 信息服务 (IIS) 管理器”在左侧窗体中展开服务器列表,找到该网站对应的应用程序池;
选中应用程序池,并在右边操作窗体中点击“高级设置…”;
在“(常规)”设置中找到“启用 32 位应用程序”,并将其设置改为“True” 此外,我们也可以利用命令行进行设置,命令行参考如下:

appcmd set apppool /apppool.name:My32bitApp /enable32bitapponwin64:true

大家如果也有类似的故障错误,可以用此办法解决。

本文运维安全相关术语:linux服务器代维 linux服务器搭建 运维管理 运维工程师 企业安全文章 企业安全管理 cf安全系统检测到游戏数据异常

主题: 服务器远程服务
tags: 程序,32bit,网站,设置,WEB,IIS,加载,启用,远程,apppool,WOW64,true
分页:12
转载请注明
本文标题:win2008 64w位系统上iis运行32位的网站程序(iis7.5开启32位)
本站链接:http://www.codesec.net/view/561101.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 运维安全 | 评论(0) | 阅读(38)