httpClient.PostAsync(url、内容)在C#Metro应用程序中不起作用
我正在使用httpClient.PostAsync(url、内容)在C#Metro应用程序中不起作用,c#,windows,xaml,http-headers,http-post,C#,Windows,Xaml,Http Headers,Http Post,我正在使用HttpClient.PostAsync()方法向我的web服务api发送post请求。 我正在传递api URL地址以及其中的queryString参数。。 但是PostAsync()方法工作不正常,出现错误: 状态代码417预期失败 public override async void SendPostRequest(请求名称reqName,IDictionary参数) { var_client=new System.Net.Http.HttpClient(); _client.B
HttpClient.PostAsync()
方法向我的web服务api发送post请求。
我正在传递api URL地址以及其中的queryString参数。。
但是PostAsync()
方法工作不正常,出现错误:
状态代码417预期失败
public override async void SendPostRequest(请求名称reqName,IDictionary参数)
{
var_client=new System.Net.Http.HttpClient();
_client.BaseAddress=新Uri(“http://www.example.com/api/v2.0/");
_client.MaxResponseContentBufferSize=256000;
字符串queryString=“?”;
字符串url=reqName.ToString()+“.json”+queryString;
字符串queryStringparam=“”;
foreach(参数中的KeyValuePair参数)
{
queryStringparam+=参数键+“=”+参数值+“&”;
}
//queryStringparam=name=“abc&age=25&event=browsed&url=www.google.com”
var response=await_client.PostAsync(url,新的StringContent(queryStringparam));
if(响应。IsSuccessStatusCode)
{
}
可能是我在PostAsync()
方法中以错误的方式传递参数。
请给我您的建议。谢谢。根据,这可能是由于代理不支持“100继续”预期
作为一种解决方法,请将
ServicePointManager.Expect100Continue
或HttpRequestHeaders.ExpectContinue
设置为false
请尽快给出您的想法/建议。谢谢,您是否尝试过将ServicePointManager.Expect100Continue
设置为false
?Wowwww。刚刚由ServicePointManager.Expect100C检查继续false&效果非常好..非常感谢Stephen Cleary..:)var _client=new System.Net.Http.HttpClient();_client.DefaultRequestHeaders.ExpectContinue=false;效果很好!
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)
{
}