【发布时间】:2019-03-20 14:10:01
【问题描述】:
大家好,这是我的任务方法,它是http post方法,现在我想添加它像Token一样
httpWebRequest.Headers["Authorization"] = "Some_Token";
所以,我是新手,不知道该怎么做,有人可以帮助我吗?
Task t = Task.Run(async () =>
{
string GetReferralsByPersonalIdNumberURL = "http://somehost/api/Referral/GetExistingClaimsByReferralNumber";
GetExistingClaimsByReferralNumberClass cust = new GetExistingClaimsByReferralNumberClass() { referralNumber = ReferalNumFromMedicine, pharmacyID = PharmacyIDFromMedicine, };
var json = _Serializer.Serialize(cust);
var response = await Request(HttpMethod.Post, GetReferralsByPersonalIdNumberURL, json, new Dictionary<string, string>());
// Request.Headers["Authorization"] = "SomeToken";
string responseText = await response.Content.ReadAsStringAsync();
da = convertJsonStringToDataset(responseText);
// List<YourCustomClassModel> serializedResult = _Serializer.Deserialize<List<YourCustomClassModel>>(responseText);
// Console.WriteLine(da.GetXml());
// Console.ReadLine();
});
t.Wait();
这是 [webmethod] 中使用的request 方法
static async Task<HttpResponseMessage> Request(HttpMethod pMethod, string pUrl, string pJsonContent, Dictionary<string, string> pHeaders)
{
var httpRequestMessage = new HttpRequestMessage();
httpRequestMessage.Method = pMethod;
httpRequestMessage.RequestUri = new Uri(pUrl);
foreach (var head in pHeaders)
{
httpRequestMessage.Headers.Add(head.Key, head.Value);
}
switch (pMethod.Method)
{
case "POST":
HttpContent httpContent = new StringContent(pJsonContent, Encoding.UTF8, "application/json");
httpRequestMessage.Content = httpContent;
break;
}
return await _Client.SendAsync(httpRequestMessage);
}
我认为我必须更改内部请求方法,并且我认为我以另一种方式做到了,希望你们能理解我在尝试什么
【问题讨论】:
-
请添加
Request方法码 -
这个
Request类是从哪里导入的? -
我编辑了,这是我的全部方法,你需要吗?
-
你有这行
await Request(HttpMethod.Post, GetReferralsByPersonalIdNumberURL, json, new Dictionary<string, string>());。请提供此Request方法中的代码 -
做这样的事情
httpRequestMessage.Headers.Add("Authorization", $"Bearer {token}");