SORU
31 AĞUSTOS 2012, Cuma


Nasıl bu istekle birlikte kimlik bilgileri iletmek için HttpClient almak için?

Bir Windows servisi konuşan bir web uygulaması (IIS). Windows hizmeti ASP.NET MVC Web API (kendi kendine barındırılan) kullanılarak, http üzerinden JSON kullanarak iletilebilir. Web uygulama kimliğe bürünme yapmak için yapılandırılmış, fikri web uygulama isteği yapan kullanıcı web uygulaması hizmeti için istek yapmak için kullandığı kullanıcı olmalıdır. Yapısı bu gibi görünüyor:

(Kullanıcı kırmızı ile işaretlenmiş kullanıcı örneklerde aşağıda belirtilen ediliyor.)


Web uygulama Windows hizmeti HttpClient: bir kullanarak isteklerini yapar

var httpClient = new HttpClient(new HttpClientHandler() 
                      {
                          UseDefaultCredentials = true
                      });
httpClient.GetStringAsync("http://localhost/some/endpoint/");

Bu Windows hizmeti için istek yapar, ama kimlik bilgileri doğru (IIS APPPOOL\ASP.NET 4.0 kullanıcı raporları) pas vermez.Bu olmasını istediğim şey değil.

WebClient yerine kullanmak için yukarıdaki kodu değiştirirsem, kullanıcının kimlik bilgilerini doğru geçti

WebClient c = new WebClient
                   {
                       UseDefaultCredentials = true
                   };
c.DownloadStringAsync(new Uri("http://localhost/some/endpoint/"));

Yukarıdaki kod ile, hizmet web için uygulama isteği yapan kullanıcının kullanıcı raporları.

Yanlış kimlik bilgileri doğru değil geçmesine neden olan HttpClient uygulama ile yapıyorum(HttpClient) ile ilgili bir hata mı?

Bu nedenle kullanmak istiyorum HttpClient işlemiş bir zaman uyumsuz API ile iyi çalışır Tasks, oysa WebClient'In asyc API gerekiyor işlenmiş olan olaylar.

CEVAP
15 NİSAN 2013, PAZARTESİ


HttpClient otomatik olarak bu gibi kimlik bilgileri iletmek için yapılandırabilirsiniz:

myClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true })

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ETrade Supply

    ETrade Suppl

    23 Temmuz 2011
  • finalcall07

    finalcall07

    11 NİSAN 2008
  • L- Crysis

    L- Crysis

    30 Aralık 2011