2

WCF RESTサービス(.Net 4.0)を使用してクライアントサーバーアプリケーションを作成していますが、非常に奇妙なエラーが表示されます。HttpClientクラスを使用するサービスにアクセスするには、コードは次のようになります。

public TResponse Post<TRequest, TResponse>(Uri uri, TRequest request)
    using (HttpClient client = new HttpClient())
    {                
        client.TransportSettings.Credentials = CredentialCache.DefaultCredentials;
        client.TransportSettings.ConnectionTimeout = TimeSpan.FromSeconds(200);

        using (HttpResponseMessage response = client.Post(uri, HttpContentExtensions.CreateDataContract(request, null)))
        {
            response.EnsureStatusIsSuccessful();
            return response.Content.ReadAsDataContract<TResponse>();
        }
    }
}

私はIIS7でサービスをホストしており、匿名認証を有効にするとすべてが正常に機能しますが、Windows認証をオンにすると、いくつかのランダムな要求(平均で10個中1個)が400で失敗します-要求のステータスが不正で、エラーメッセージは次のとおりです:不正な要求-無効動詞。HTTPエラー400。要求動詞が無効です。

どうなり得るか?

そして少し更新:フィドラーがオンになっている場合、すべてが完璧に機能します。

4

1 に答える 1