2

.NET 4.5 からドメイン認証を必要とする REST サービスを呼び出したいです。( Visual Studio 2012 を使用)

Google を検索すると、HttpClient がこれを行う方法であると言っている人々の多くのリンクにつながります。

ただし、私が知る限り、資格情報を偽装したり、HttpClient に添付したりする方法はありません。

さらに、一般的な REST ライブラリはすべて、まだ .NET 4.5 と互換性がないようです。

Over StackOverflow の投稿では、これを回避する方法として WebClient が提案されていますが、これは .NET 4.5 では使用できなくなったようです。

.NET 4.5 クライアントからドメイン資格情報を使用して REST サービスを呼び出したい場合、どの方法が最適ですか?

4

1 に答える 1

2

.NET 4.5 の HttpClient はドメイン認証をサポートしています。「UseDefaultCredentials」設定を true に設定して HttpClientHandler を挿入する必要があります。

        string searchResults = string.Empty;

        try
        {
            HttpClientHandler handler = new HttpClientHandler();
            handler.UseDefaultCredentials = true;
            HttpClient client = new HttpClient(handler);

            client.MaxResponseContentBufferSize = 100000;
            string responseString = await client.GetStringAsync(RestServiceUrl);

            searchResults = responseString;
        }
        catch (HttpRequestException e)
        {
            searchResults = e.Message;
        }

また、Windows 8 アプリケーションを構築している場合は、Package.appManifest で「エンタープライズ認証」を有効にする必要があることに注意してください。

ここに画像の説明を入力

于 2013-03-17T08:01:02.493 に答える