Мне интересно, получаю ли я ошибки 403, потому что слишком много попыток подключений к веб-сервису. Если это так, как мне обойти это? Я пытался каждый раз создавать новый экземпляр InternalWebService
и избавляться от старого, но у меня та же проблема. Я отключил брандмауэр, и веб-сервис в данный момент находится локально. Я начинаю думать, что это может быть проблема с учетными данными, но на каком-то этапе дерево управления заполняется через веб-сервис. Если я перехожу к веб-методам в своем браузере, я могу запустить их все.
Я возвращаю экземпляр веб-службы из моего обработчика входа в систему loginsession.cs
:
static LoginSession()
{
...
g_NavigatorWebService = new InternalWebService();
g_NavigatorWebService.Credentials = System.Net.CredentialCache.DefaultCredentials;
...
}
public static InternalWebService NavigatorWebService
{
get
{
return g_NavigatorWebService;
}
}
У меня есть элемент управления в виде дерева, который использует веб-сервис для заполнения себя. 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 на последней строке.