调用ASMX时出现CredentialsCache或NetworkCredential

时间:2012-12-05 06:21:16

标签: c# asmx

谷歌搜索示例我在调用ASMX Web服务时看到了两种指定凭据的方法。

a)一种方法是创建CredentialsCache并为其分配NetworkCredential

b)另一种方法是直接在客户端/代理类上设置凭证。

为什么他们只是CredentialsCache?是仅仅指定身份验证方法(如 BASIC DIGEST 等)还是有其他原因不直接使用NetworkCredential

1 个答案:

答案 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否则会正常工作。