当前位置:首页 > 服务器技术 > IIS

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

我正在尝试主持第二个网站(默认网站之外,已经使用过),这是.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/Framework64

而不是

Microsoft.NET/Framework

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

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

C:WINDOWSMicrosoft.NETFrameworkv4.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)是为.NET 2设置的.它们位于单独的应用程序池中.

在此配置下,初始站点有效.在新网站上,我可以浏览目录,但.asmx页面会产生404错误.

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

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

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

例外:System.IO.FileLoadException

消息:无法加载文件或程序集’System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一.访问被拒绝.

解决方法:

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


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!