1

我想知道我是否收到了 403 错误,因为有太多尝试连接到 web 服务?如果是这种情况,我该如何解决。我每次都尝试创建一个新的 InternalWebService 实例并处理旧的实例,但我遇到了同样的问题。我已经禁用了防火墙,并且 web 服务目前位于本地。我开始认为这可能是凭据的问题,但控制树是在某个阶段通过 web 服务填充的。如果我在浏览器中浏览到 webmethods,我可以全部运行它们。

登录会话.cs

static LoginSession()
    {
        ...
        g_NavigatorWebService = new InternalWebService();
        g_NavigatorWebService.Credentials = System.Net.CredentialCache.DefaultCredentials;
        ...
    }       

    public static InternalWebService NavigatorWebService
    {
        get
        {
            return g_NavigatorWebService;
        }
    }

我有一个树视图控件,它使用 web 服务来填充自己。IncidentTreeViewControl.cs

public IncidentTreeView()
    {
        InitializeComponent();
        m_WebService    = LoginSession.NavigatorWebService;
        ...
    }
public void Populate()
    {
        m_WebService.BeginGetIncidentSummaryByCompany(new AsyncCallback(IncidentSummaryByClientComplete), null);
        m_WebService.BeginGetIncidentSummaryByDepartment(new AsyncCallback(IncidentSummaryByDepartmentComplete), null);
        ...
    }
private void IncidentSummaryByClientComplete(IAsyncResult ar)
    {
        MyTypedDataSet data = m_WebService.EndGetIncidentSummaryByCompany(ar); //403
        ..cont...
    }

我在最后一行得到 403

4

1 回答 1

1

在 HTTP 中,403 错误应该是由授权错误引起的。

假设您正在与之通信的 Web 服务器遵循 HTTP 标准,那么 403 错误将由不正确的凭据引起。

于 2011-07-20T06:19:03.657 回答