我正在尝试使用 MVC 根据 HTTP 调用 WebApi 方法。我每次都需要发送一些信息,比如用户 ID 和应用程序版本。如何将此信息添加到标题中?我想作为一个ajax调用来做,而不是像现在这样通过客户端代码):
'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 调用。我该怎么做?
另外,我想更改 Header Authorization 参数,但是这段代码:
'client.DefaultRequestHeaders.Add("Authorization", "12345");'
没有工作,并且
request.Headers.Authorization.Parameter
告诉我它是只读的。
发送前如何在服务器端设置?