Web サービスへの接続試行回数が多すぎるため、403 エラーが表示されるのではないかと考えています。この場合、どうすれば回避できますか?InternalWebService
毎回新しいインスタンスを作成して古いインスタンスを破棄しようとしましたが、同じ問題が発生します。ファイアウォールを無効にしました。現在、Web サービスはローカルにあります。資格情報に問題があるのではないかと考え始めましたが、ある段階でコントロール ツリーが Web サービスを介して読み込まれます。ブラウザで webmethods を参照すると、それらすべてを実行できます。
ログイン ハンドラから Web サービスのインスタンスを返しますloginsession.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 を取得しています。