.Net ASMX客户端为每个请求调用两次远程服务

时间:2013-08-22 19:22:33

标签: .net asmx basic-authentication

我有一个托管在远程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行:

  • 200,HTTP,Tunnel To,unix-server-host
  • 401,HTTPS,unix-server-host,/ srvcs / method
  • 200,HTTP,Tunnel To,unix-server-host
  • 200,HTTPS,unix-server-host,/ srvcs / method

我还在AIX服务器上打开了我的日志文件,并在非常接近的时间内确认了2个请求

  • source IP - unauthenticated 22 / Aug / 2013:14:05:51 -0500“POST / srvcs / method HTTP / 1.0”401 1244
  • source IP - service-uid 22 / Aug / 2013:14:05:52 -0500“POST / srvcs / method HTTP / 1.0”200 3473

我的服务客户端向Unix服务器发出2次调用,第一次是未经身份验证,第二次是成功 - 我得到了适当的响应。

任何人都明白为什么.Net客户端会在没有通过凭据的情况下生成第一个电话?

0 个答案:

没有答案