繁体   English   中英

在IIS 6中托管.NET 4.0 Web服务

[英]Hosting a .NET 4.0 Web Service in IIS 6

我正在尝试托管第二个网站(已使用的默认网站之外)是.NET 4支持的Web服务。这是IIS 6。

默认网页使用的是.NET 2.0。 在IIS 6中,可以通过创建两个不同的应用程序池来使两个单独的网站运行不同版本的.NET。 我已经做到了

但是,我遇到了一个常见问题,即ASP.NET选项卡未出现在IIS中。 该选项卡允许您设置站点使用的.NET版本。

我的解决方法是更改​​每个站点通过命令行引用的.NET版本:

aspnet_regiis -s (site path)

解决此问题的另一种方法是将IIS切换到64位模式,这将导致ASP.NET选项卡实际出现。 问题是,即使将IIS重新配置为引用以下目录,将IIS切换到64位也不能很好地与现有网站配合使用,

Microsoft.NET/框架64

相对于

Microsoft.NET/框架

有人在这样的服务器上托管单独的页面有经验吗? 这是一场噩梦。 实际上,我可以使第二页正常工作,但是原来的默认页面失败了,反之亦然。

我现在以32位模式运行IIS,并从cmd行运行以下命令:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -lk
W3SVC/  2.0.50727.3053
W3SVC/1/ROOT/   2.0.50727.3053
W3SVC/87257621/root/    4.0.30319.1

这清楚地表明,我的第二个网站(ID为8725721)设置为.NET 4,而原始网站(ID 1)设置为.NET2。它们位于单独的应用程序池中。

在此配置下,初始站点可以工作。 在新站点上,我可以浏览目录,但是.asmx页会产生404错误。

当我为64位模式启用IIS时,.asmx页面已按预期工作,但是默认网站给出了“服务不可用”的一般错误,因为.NET是从Framework路径而不是Framework64路径安装的。 但是,即使切换到Framework64路径后,默认页面也会出现更多错误。

另外,在我更改要运行到.NET 4的网站的目标框架之前,该错误会显示在事件查看器中:

无法初始化AppDomain:/ LM / W3SVC / 87257621 / Root

异常:System.IO.FileLoadException

消息:无法加载文件或程序集'System.Web,版本= 2.0.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。 访问被拒绝。

在IIS中的Web服务扩展下,是否将ASP.NET 4.0设置为允许?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM