Webservice返回403错误

时间:2010-03-11 16:02:49

标签: c# .net web-services asmx http-status-code-403

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

我从登录处理程序loginsession.cs返回webservice的一个实例:

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

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

我有一个树视图控件,它使用webservice来填充自己。 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。

1 个答案:

答案 0 :(得分:3)

你知道403的子代码吗?只有403-9和403-15似乎与过多的流量相关,流量本身与您的许可相关,因此除了购买新许可或减少请求数量之外,没有什么可以做的。

但403的其他子代码与授权更相关,这可能是您问题的更可能原因。