WCF远程服务器返回错误:(404)Not Found

时间:2010-09-26 12:19:36

标签: wcf authentication http-status-code-404

我在网络服务器上的IIS6上有一个简单的WCF服务托管。

当我在我的网络中的服务器上使用以下绑定时,我得到了404,如果只是使clientCredentialType为None,它可以工作,也可以在我的机器上工作,为什么Windows身份验证在服务器上失败,404实际上意味着它甚至看不到端点,如果是代理问题,如何修复它。

<basicHttpBinding>
    <binding name="HttpWindowsAuthentication" 
             maxReceivedMessageSize="1048576" bypassProxyOnLocal="true" 
             useDefaultWebProxy="false">
        <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows" proxyCredentialType="None"/>
        </security>
     </binding>
</basicHttpBinding>

感谢

2 个答案:

答案 0 :(得分:2)

它可能与安全性有关,因为它在您更改clientCredentialType时起作用。

你得到404,是为了提高安全性,系统说“我找不到文件”,而不是说“是的,有一个带有该名称的文件,但你不能看到它”。

看起来正在进行wcf调用的用户无法访问svc文件,但是运行asp.net进程的用户会这样做。运行asp.net进程的用户用于匿名客户端。

以上假设默认设置。

答案 1 :(得分:0)

谢谢Shiraz

这是安全问题,我根本没有在WCF配置文件中指定Windows身份验证,mexHttpBinding也没有与Windows身份验证一起使用!!。

网络上的某些客户端错误地使用模拟,他们获得了401,所以我清除了IIS中的选项http://msdn.microsoft.com/en-us/library/aa292118%28VS.71%29.aspx

相关问题