1

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

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 を取得しています

4

1 に答える 1

1

HTTP では、認証エラーが原因で403 エラーが発生するはずです。

通信している Web サーバーが HTTP 標準に従っていると仮定すると、403 エラーは資格情報が正しくないために発生します。

于 2011-07-20T06:19:03.657 に答える