我想根据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