如何在单个IIS实例上并排配置WCF的2个版本



我在IIS服务器上有几个网站(在不同的端口上),其中一些使用.NET 4.0,一些使用.NET 3.5-所有这些网站都需要WCF。

是否可以在单个IIS上同时注册(3.5和4.0)WCF版本?

我尝试在IIS中注册WCF,使用:

ServiceModelReg.exe -ia (from .NET 4.0)

ServiceModelReg.exe -i (from .NET 3.0)

当我用最后一个命令安装WCF组件时,它会破坏运行.NET 4.0的站点,在之后

ServiceModelReg.exe -u (from .NET 3.0)
ServiceModelReg.exe -ia (from .NET 4.0)
ServiceModelReg.exe -r (from .NET 4.0)

它们工作正常,但现在使用.NET 3.5的网站坏了。

  • 请确保已使用aspnet_regiis.exe针对IIS注册了所有ASP.NET运行时
  • 确保每个应用程序都在其专用的应用程序池中运行
  • 在IIS管理器控制台中设置应用程序池的.NET版本

这很有效:

 1. aspnet_regiis.exe -i -enable (from v2.0...)
 2. ServiceModelReg.exe -i (from v3.0Windows Communication Foundation)
 3. aspnet_regiis.exe -i -enable (from v4.0...)
 4. ServiceModelReg.exe -ia (from v4.0...)
 5. iisreset

真的不确定发生了什么变化,也许执行顺序很重要。

最新更新