谷歌搜索示例我在调用ASMX Web服务时看到了两种指定凭据的方法。
a)一种方法是创建CredentialsCache
并为其分配NetworkCredential
。
b)另一种方法是直接在客户端/代理类上设置凭证。
为什么他们只是CredentialsCache
?是仅仅指定身份验证方法(如 BASIC , DIGEST 等)还是有其他原因不直接使用NetworkCredential
?
答案 0 :(得分:0)
如果您希望它与Windows身份验证一起使用,则必须使用构造函数创建凭据(有关它的博客:http://blog.gauffin.org/2012/12/solved-getting-401-unauthorized-while-calling-an-asmx-service-using-windows-authentication/):
service.Credentials = new NetworkCredential("userName", "password");
使用CredentialsCache
的所有示例都是无目的地执行此操作,除非他们想要指定要使用的身份验证选项(并且服务器必须支持多个选项)。 NetworkCredential
否则会正常工作。