我有一个托管在远程AIX服务器上的Web服务,该服务具有HTTPS访问权限并且已启用基本身份验证。
我使用ASMX Web References从我的.Net 4.0项目生成代理类。所以我有以下代码来调用Web服务
var service = new ServiceProxy();
service.Credentials = new NetworkCredential("service-uid", "service-pwd");
var response = service.add(request);
这是非常简单的代码。现在我运行Fiddler来检查本地Windows机器和远程Unix服务器之间的流量,但我注意到Fiddler的4行:
我还在AIX服务器上打开了我的日志文件,并在非常接近的时间内确认了2个请求
我的服务客户端向Unix服务器发出2次调用,第一次是未经身份验证,第二次是成功 - 我得到了适当的响应。
任何人都明白为什么.Net客户端会在没有通过凭据的情况下生成第一个电话?