我想根據HTTP使用MVC調用WebApi方法。我需要每次發送一些信息,例如用戶ID和應用程序版本。我怎樣才能將這個信息添加到頭部?我想這樣做,作爲一個Ajax調用,而不是由客戶端代碼就像現在):如何在服務器端設置WebApi請求標頭
'beforeSend: function (req) {
req.setRequestHeader("Accept", "version=1.00,requestTime=" + new Date());
}'
但在服務器端,我不能設置RequestHeader用繩子 這是我的服務器代碼:
HttpClient client = new HttpClient();
var request = new HttpRequestMessage()
{
RequestUri = new Uri("http://localhost/WebAPIDemo/FilterAttribute-MVC"),
Method = HttpMethod.Get,
};
request.Headers.Accept.Add(***);
//request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
List<OfficeSupply> os=new List<OfficeSupply>();
var task = client.SendAsync(request)
.ContinueWith((taskwithmsg) =>
{
var response = taskwithmsg.Result;
var jsonTask = response.Content.ReadAsAsync<List<OfficeSupply>>();
jsonTask.Wait();
var jsonObject = jsonTask.Result;
os = jsonObject.ToList();
});
task.Wait();
***
需要是'MediaTypeWithQualityHeaderValue'類型的值,但我只是想將它設置爲自定義,就像ajax調用一樣。我應該怎麼做?
另外,我想改變頁眉授權參數,但是這個代碼:
'client.DefaultRequestHeaders.Add("Authorization", "12345");'
沒有工作,
request.Headers.Authorization.Parameter
告訴我,這是隻讀的。
如何在發送之前在服務器端設置它?
你好!我想你的代碼,但它不不會顯示在Chrome請求標題(F12網絡標題),一切都沒有改變 – Ray
如果Chrome請求來自httpClient請求,Chrome將如何看到請求?使用提琴手查看請求。 –
提琴手請求標頭只有:四個接受參數和一個用戶代理? – Ray