谷歌搜索示例 我已经看到了两种在调用 ASMX Web 服务时指定凭据的方法。
a) 一种方法是创建 aCredentialsCache
并将其分配NetworkCredential
给它。
b) 另一种方法是直接在客户端/代理类上设置凭据。
为什么他们只是CredentialsCache
?只是指定身份验证方法(如BASIC、DIGEST等)还是有其他原因不NetworkCredential
直接使用?
如果您希望它与 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
否则会正常工作。