gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 01:26:25 24 4
gpt4 key购买 nike

我正在尝试托管第二个网站(在已使用的默认网站之外),它是 .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 切换到 64 位并不能很好地适应现有网站,即使在重新配置 IIS 以引用以下目录之后,也是如此,

Microsoft.NET/Framework64

相对于

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

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

当我为 64 位模式启用 IIS 时,我已经让 .asmx 页面按预期工作,但随后默认网站给出了“服务不可用”一般错误,因为 .NET 是从框架路径而不是从框架路径安装的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是否设置为允许?

关于c# - 在 IIS 6 中托管 .NET 4.0 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4952622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com