Web api entegrasyon testi yapıyorum.Varsayılan İstek Başlığı herhangi bir değeri kabul etmez, her zaman boş
Bir Http Request başlığına benim hamiline belirteci geçirmek istediğiniz:
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eJ43k5l435j34l5j43l5j34l5jl35j34l5j344l.4534535.534534sample...");
kod satırı ben httpClient.DefaultRequestHeaders.Authorization
mülkiyet içine bakmak ve onu NULL'dur yapılır?
Neden bu?
GÜNCELLEME Bu benim entegrasyon testi sınıfın taban sınıfından olan
:
protected HttpClient Client { get { return server.HttpClient; } }
zaman deney sınıfında ben el ile yeni bir http istemcisi:
var client = new HttpClient();
client.DefaultRequestHeaders.Add("key","value");
Çalışıyor, ama Müşterim ile değil!
GÜNCELLEME 2
Tamam ben bu öğrendim:
var c = Client;
c.DefaultRequestHeaders.Add("bla", "bla");
ÇALIŞIR, ama neden yeni bir değişkende müvekkilimi okumak gerekiyor?
Sanırım bu sorunu çözmek için biraz daha fazla koda ihtiyacım var. İlk satırınızdaki httpClient nerede? Gördüğüm gibi, bu bir HttpClient nesnesidir, korumalı bir HttpClient İstemcisinden {get {return server.HttpClient; }} '?? Ifso, hepsi 'server' ile bitti. Bu kodu bir API'da mı yoksa bir API'YI KULLANARAK bir uygulamada mı kullanıyorsunuz? – CularBytes
Sunucu değişkeninizin türü hakkında biraz bilgi ekler misiniz? Oluşturduğunuz bir sınıf veya çerçeve türü ise. Kendi sınıfınız olması durumunda, HttpClient'in nasıl örneklendirildiği hakkında daha fazla bilgi verebilir misiniz? –
Buna bir çözüm buldunuz mu? Ben tam olarak aynı sorun var, bir WebAPI2 kod temeli üzerinde entegrasyon testlerini çalıştırmaya çalışıyorum, ve üstbilgiyi (sizin yaptığınız gibi) atayım ve hemen sonraki satırda her zaman ALWAYS ... bu beni çıldırtıyor.HttpClient üstbilgisini ayarlamak yerine, programlayıcının üstbilgiyi HttpMessageRequest yerine başlığına getirdiği ve HttpClient.PostAsJson yerine HttpClient.SendAsync kullanarak gönderdiği (tek örnek) bir örnek buldum. zaman ve hala neden üstbilgi HttpClient üzerinde ayarlanamaz bilmiyorum? –