为什么在IIS中托管WCF需要匿名访问

时间:2010-05-06 16:48:59

标签: wcf

任何见解都很有帮助

1 个答案:

答案 0 :(得分:2)

可以在.NET Development Forum上找到一个很好的解释:

  

[我]你不得不这样做   启用匿名以托管WCF   在IIS中。有一些限制   但是在配置绑定时。   基本原则是:   应该是WCF绑定的设置   与IIS设置兼容。这个   表示如果要启用   传输层认证   绑定,你必须这样做   IIS中的虚拟应用程序。对于   例如,当你使用   BasicHttpBinding,你可以启用   通过设置传输层身份验证   安全模式   “TransportCredentialOnly”。您可以   在此禁用IIS匿名身份验证   情况下。

     

然而,有一个特例:如果   您正在通过HTTP使用WSHttpBinding   而不是HTTPS,你必须   在IIS中启用匿名。这是   因为没有安全模式   WSHttpBinding允许您配置   传输层身份验证   HTTP,已在中实施   basicHttpBinding的。当然可以   通过使用任何一个来解决这   BasicHttpBinding或CustomBinding。   这不是限制。相反它   试图减少你以后的困惑   将使用SSL(作为传输   层安全性)或消息安全性   使用WSHttpBinding。