网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行

时间:2021-01-09 11:29:34
    一个Asp.net网站,之前部署在Win7 64位 IIS6.1平台可以执行,但现在搬到Server 2008上引用dll部分不能正常运行,不报错,进入无限等待状态,或者返回不正确结果。
  做过以下尝试:
      1、在服务器上安装开发环境调试,测试结果正常。
      2、使用该控件做成.exe程序,测试结果正常。
      3、直接使用IIS调试,发现运行到dll部分登录功能长时间没有反应,其他功能不能正常返回结果。
      3、之前该电脑装过域控,怀疑与IIS开启32位有冲突,去掉域控甚至重新安装Server2008问题依旧。
  当前设置:
      1、网站权限最大。
      2、应用程序池(经典、集成)均测试过。
      3、启用32位应用程序。
  请大家给个建议应该从什么方面解决该问题?

11 个解决方案

#1


这种情况可能跟环境有关,Server 2008上安装的iis是什么版本,装个6.1或以上版本看看

#2


发布网站可以试试

发布的时候选择X86发布

#3


不要启用32位应用程序,你的DLL可能是64位的.

#4


引用 1 楼 sunny906 的回复:
这种情况可能跟环境有关,Server 2008上安装的iis是什么版本,装个6.1或以上版本看看

Server 2008 IIS默认 与win7 默认都是 6.1

#5


引用 2 楼 wangnaisheng 的回复:
发布网站可以试试

发布的时候选择X86发布


网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行,我试了一下,还是不行啊

#6


引用 3 楼 tcmakebest 的回复:
不要启用32位应用程序,你的DLL可能是64位的.

亲,dll是32位的,如果不启用会报错的。未能加载文件或程序集“XXXXX”或它的某一个依赖项。试图加载格式不正确的程序。 

#7


引用 5 楼 MarkKings 的回复:
Quote: 引用 2 楼 wangnaisheng 的回复:

发布网站可以试试

发布的时候选择X86发布


网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行,我试了一下,还是不行啊


我搞错了,应该是选择Release - Any CPU

你生成的DLL最好也是Release - Any CPU

这样应该是好了

#8


引用 7 楼 wangnaisheng 的回复:
Quote: 引用 5 楼 MarkKings 的回复:

Quote: 引用 2 楼 wangnaisheng 的回复:

发布网站可以试试

发布的时候选择X86发布


网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行,我试了一下,还是不行啊


我搞错了,应该是选择Release - Any CPU

你生成的DLL最好也是Release - Any CPU

这样应该是好了

网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行之前是any CPU,换回来问题依旧啊。。。

#9


期待大家给个方向讨论

#10


参考:  How To Grant Full Trust to your Website using IIS
看一下Config里面的Trust Level是不是Full

<location path=”mydomain.com” allowOverride=”true”>
<system.web>
<trust level=”Full” originUrl=”” />
</system.web>
</location>

#11


现在碰到了和楼主一样的问题,WebService,请问楼主怎么解决的?

#1


这种情况可能跟环境有关,Server 2008上安装的iis是什么版本,装个6.1或以上版本看看

#2


发布网站可以试试

发布的时候选择X86发布

#3


不要启用32位应用程序,你的DLL可能是64位的.

#4


引用 1 楼 sunny906 的回复:
这种情况可能跟环境有关,Server 2008上安装的iis是什么版本,装个6.1或以上版本看看

Server 2008 IIS默认 与win7 默认都是 6.1

#5


引用 2 楼 wangnaisheng 的回复:
发布网站可以试试

发布的时候选择X86发布


网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行,我试了一下,还是不行啊

#6


引用 3 楼 tcmakebest 的回复:
不要启用32位应用程序,你的DLL可能是64位的.

亲,dll是32位的,如果不启用会报错的。未能加载文件或程序集“XXXXX”或它的某一个依赖项。试图加载格式不正确的程序。 

#7


引用 5 楼 MarkKings 的回复:
Quote: 引用 2 楼 wangnaisheng 的回复:

发布网站可以试试

发布的时候选择X86发布


网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行,我试了一下,还是不行啊


我搞错了,应该是选择Release - Any CPU

你生成的DLL最好也是Release - Any CPU

这样应该是好了

#8


引用 7 楼 wangnaisheng 的回复:
Quote: 引用 5 楼 MarkKings 的回复:

Quote: 引用 2 楼 wangnaisheng 的回复:

发布网站可以试试

发布的时候选择X86发布


网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行,我试了一下,还是不行啊


我搞错了,应该是选择Release - Any CPU

你生成的DLL最好也是Release - Any CPU

这样应该是好了

网站引用外部dll部署于Server2008R2 64位 IIS6.1 平台不执行之前是any CPU,换回来问题依旧啊。。。

#9


期待大家给个方向讨论

#10


参考:  How To Grant Full Trust to your Website using IIS
看一下Config里面的Trust Level是不是Full

<location path=”mydomain.com” allowOverride=”true”>
<system.web>
<trust level=”Full” originUrl=”” />
</system.web>
</location>

#11


现在碰到了和楼主一样的问题,WebService,请问楼主怎么解决的?