C# Web服务调用问题

C# Web服务调用问题,c#,asp.net,web-services,security,C#,Asp.net,Web Services,Security,我从ASP.NET网站调用web服务(需要证书)。当我在localhost(调试)上测试它时,它可以工作,但在IIS 6(windows server 2003)上不工作,并引发异常: 请求失败,状态为HTTP 403:禁止 下面是我如何调用web服务的代码: Service service = new Service(); service.ClientCertificates.Add(new X509Certificate("certificate path", "password")

我从ASP.NET网站调用web服务(需要证书)。当我在localhost(调试)上测试它时,它可以工作,但在IIS 6(windows server 2003)上不工作,并引发异常:

请求失败,状态为HTTP 403:禁止

下面是我如何调用web服务的代码:

  Service service = new Service();
  service.ClientCertificates.Add(new X509Certificate("certificate path", "password"));
  service.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

  ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidationCallBack);
  Result res = service.GetResult();


  private static bool ValidationCallBack(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
  {
       return true;
  }
此错误的原因是什么?如何避免此错误

我用winForms尝试了web服务调用,它在服务器上运行良好。所以我认为这是个问题


谢谢

要解决这个问题,你应该看看这个

403-禁止。你可以收到这个 通用403状态代码,如果Web 站点没有默认文档集,并且 该站点未设置为允许目录 浏览。有关 如何解决此问题,请单击 以下文章编号可查看 Microsoft知识库中的文章 基础:
如何 在中配置默认文档 互联网信息服务


403.7-需要客户证书。您已将服务器配置为 需要客户端的证书 身份验证,但您没有 有效的客户端证书 已安装。
PRB: 错误消息:403.7禁止:客户端 所需证书


为了更好地理解这个问题,您应该在服务器端启用操作系统。您将看到一条更好的异常消息或一些可以为您提供线索的信息。

设置了默认文档,允许浏览目录。但问题并没有解决。@Vano Maisuradze“试试这个。”