httpClient.PostAsync(url,content)在C#Metro应用程序中不起作用
本文关键字:C#Metro 应用程序 不起作用 content PostAsync url httpClient | 更新日期: 2023-09-27 18:28:40
我使用HttpClient.PostAsync()
方法将post请求发送到我的web服务api。我正在传递api URL地址以及其中的queryString参数。。但是PostAsync()
方法工作不正常,给出了一个错误:
状态代码417预期失败。
public override async void SendPostRequest(REQUEST_NAME reqName, IDictionary<string, object> args)
{
var _client = new System.Net.Http.HttpClient();
_client.BaseAddress = new Uri("http://www.example.com/api/v2.0/");
_client.MaxResponseContentBufferSize = 256000;
string queryString = "?";
string url = reqName.ToString() + ".json" + queryString;
string queryStringparam = "";
foreach (KeyValuePair<string, object> param in args)
{
queryStringparam += param.Key + "=" + param.Value + "&";
}
// queryStringparam=name="abc&age=25&event=browsed&url=www.google.com"
var response = await _client.PostAsync(url, new StringContent(queryStringparam));
if (response.IsSuccessStatusCode)
{
}
可能是我在PostAsync()
方法中以错误的方式传递参数。请给我你的建议。谢谢。
根据这个MSDN论坛线程,这可能是由不支持"100 continue"期望的代理引起的。
作为解决方法,请将ServicePointManager.Expect100Continue
或HttpRequestHeaders.ExpectContinue
设置为false
。