2016-11-08 17 views
9

Asp.Net Çekirdek Web API'sini kullanmak için basit Http istemcisini geliştiriyorum. HttpHeaderCollection aracılığıyla Web API'sına birkaç http üstbilgi değeri aktarmak istiyorum. NET Framework önceki sürümlerinde request.Headers koleksiyonu için başlıkları eklemek için bir yolu yoktur.Net Çekirdeği'nde HttpWebRequest'e Başlık değerleri nasıl eklenir?

WebHeaderCollection aPIHeaderValues = new WebHeaderCollection();   
aPIHeaderValues .Add("UserName","somevalue"); 
aPIHeaderValues .Add("TokenValue", "somevalue"); 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.Headers.add(aPIHeaderValues); 
HttpWebResponse response = (HttpWebResponse)_request.GetResponse(); 

aşağıdaki Ama Net Core HttpHeaderCollection için başlık değerlerini eklemek için izin.

SampleClass sampleClass= null; 
using (HttpClient client = new HttpClient()){ 
    client.DefaultRequestHeaders.Add("Authorization", "TOKEN"); 
    var data = await client.GetAsync("MY_API_URL"); 
    var jsonResponse = await data.Content.ReadAsStringAsync(); 
    if (jsonResponse != null) 
     sampleClass= JsonConvert.DeserializeObject<SampleClass>(jsonResponse); 
    return sampleClass; 
} 

cevap

4

bir örnektir HttpClient'dan farklı olan HttpWebRequest. HttpWebRequest kullanma
, sadece böyle istiyorum bir başlık atamak: o yoksa

request.Headers["HeaderToken"] = "HeaderValue"; 

.NET çekirdek başlığını oluşturur.

9

soru hakkındadır: yeni WebHeaderCollection

WebHeaderCollection aPIHeaderValues = new WebHeaderCollection(); 

tanımlayarak başlıklarını ekleyemezsiniz yanı sıra Net Çekirdek bunu yapmanın herhangi bir alternatif yolu var mı

İşte
+5

Lütfen yazılarınıza çizgi işaretleri eklemeyin. Bunların yeri kullanıcı profilinizde. – DavidPostill

İlgili konular