我还建议查看服务器上的安全事件日志以查找身份验证失败。您应该在此处找到失败的授权尝试的足迹。但要注意 - 每秒获得10次安全事件并不罕见,因此理想情况下,您需要能够在请求失败时访问事件日志。
如果您在实例化Web服务时未指定在ASP.NET页面中使用哪些凭据,那么我认为它默认为 的 NT_AUTHORITY \匿名 强> 。
如果您正在使用System.Net.CredentialCache,那么您的Web服务需要位于受信任的域中,通过HTTPS访问并使用NTLM,Kerberos或Digest Auth,否则它不会从缓存中传递凭据。
http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials.aspx http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultnetworkcredentials.aspx http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials.aspx
你看过IIS日志了吗?
也许生产服务器的应用程序池使用不同的用户而不是开发环境?我曾经花了一天时间想出那一个。另一种选择是web.config中的(缺乏)模拟