C# 从服务器接收的身份验证标头为';谈判';内部异常:远程服务器返回错误:(401)未经授权

C# 从服务器接收的身份验证标头为';谈判';内部异常:远程服务器返回错误:(401)未经授权,c#,.net,wcf,web,service,C#,.net,Wcf,Web,Service,WCF:InnerException:HTTP请求未经客户端身份验证方案“协商”授权。从服务器接收的身份验证标头为“协商”。 InnerException:远程服务器返回错误:(401)未经授权 服务器配置: 客户端配置: 我通过使用“ReportingService2010Soap”绑定的代码调用另一个one端点 我有两个客户端(WPF click once应用程序)和一个服务器,其中部署了WCF 客户1:以上代码工作正常,没有任何问题 客户端2:在页面加载中,我调用两个端点来验证两个

WCF:InnerException:HTTP请求未经客户端身份验证方案“协商”授权。从服务器接收的身份验证标头为“协商”。 InnerException:远程服务器返回错误:(401)未经授权

服务器配置:


客户端配置:


我通过使用“ReportingService2010Soap”绑定的代码调用另一个one端点

我有两个客户端(WPF click once应用程序)和一个服务器,其中部署了WCF

客户1:以上代码工作正常,没有任何问题

客户端2:在页面加载中,我调用两个端点来验证两个端点是否都处于活动状态。在上面的配置中,我得到了这个错误,页面本身没有加载。 然后我启用了WCF跟踪,调用BasicHttpBinding_AppSecurityService端点并抛出 InnerException:HTTP请求未经客户端身份验证方案“协商”授权。从服务器接收的身份验证标头为“协商”。 InnerException:远程服务器返回错误:(401)未经授权。 ReportingService2010Soap调用返回结果

但是 如果我删除此端点,ReportingService2010Soap将不会出现任何问题

所以我很困惑哪里是错误?第一个端点或第二个端点。若我删除第二个端点应用程序加载,那个么将罚款,若我启用应用程序,那个么将在第一个端点中抛出错误

我已启用Windows身份验证,并且提供程序在IIS中为“协商”


请检查我是否遗漏了任何内容?

我已确定问题,并已修复,如下所示

正如我提到的,在页面加载中,首先动态调用“ReportingService2010Soap”绑定配置。调用结束此绑定对象未正确处置。 由于所有WCF服务调用都使用了“ReportingService2010Soap”绑定配置


我已通过处理绑定对象解决了此问题。

是否发送HTTP或HTTPS(使用TLS安全)。服务器具有接受TLS或要求TLS的选项。因此,如果您在不需要TLS的服务器上发送HTTP,您将可以工作。如果您发送的HTTP需要HTTPS,您可能会收到401。401有很多可能性。我只是举一个例子,谢谢你的回复。我使用的是“protocolmapping=http”。我在哪里可以找到TLS?IIS版本10.0.17763您可能需要使用TLS。在某些情况下,只有管理员可以更改选项。请参阅:如果我使用“ReportingService2010Soap”绑定clientCredentialType=“Windows”而不是“Ntlm”,它可以正常工作。您还需要帮助吗?你在使用证书吗?见: