asp.net-mvc – 控制台应用程序HttpClient发布到mvc web api
|
我有一个从Visual Studio 2012模板构建的默认mvc web api实例.它在默认的ValuesController中有以下路由和post方法 – MVC站点在初始创建时不会修改,而不是Post方法的内容.此外,我正在使用.NET framework 4.0,因为我计划将Azure作为目标. 注册方法 public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }
);
}
和Post方法 // POST api/values
public string Post([FromBody]string value)
{
if (value != null)
{
return "Post was successful";
}
else
return "invalid post,value was null";
}
我创建了一个控制台应用程序,它使用HttpClient来模拟发布到服务,但不幸的是,进入Post的“值”始终为null.在HttpClient上的PostAsync调用之后成功命中了Post方法. 我不清楚如何映射我的请求,以便值包含我传入的StringContent … static void Main(string[] args)
{
string appendUrl = string.Format("api/values");
string totalUrl = "http://localhost:51744/api/values";
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("Accept","application/xml");
string content = "Here is my input string";
StringContent sContent = new StringContent(content,Encoding.UTF8,"application/xml");
HttpResponseMessage response = null;
string resultString = null;
client.PostAsync(new Uri(totalUrl),sContent).ContinueWith(responseMessage =>
{
response = responseMessage.Result;
}).Wait();
response.Content.ReadAsStringAsync().ContinueWith(stream =>
{
resultString = stream.Result;
}).Wait();
}
我是MVC web api的新手,并且使用了HttpClient – 任何帮助我指向正确方向的人都会非常感激. 解决方法请尝试以下代码:class Program {
static void Main(string[] args) {
HttpClient client = new HttpClient();
var content = new StringContent("=Here is my input string");
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
client.PostAsync("http://localhost:2451/api/values",content)
.ContinueWith(task => {
var response = task.Result;
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
});
Console.ReadLine();
}
}
请查看此博客文章的“发送简单类型”部分:http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-1 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何显示图像从路径在asp.net mvc 4和剃刀视
- asp.net-mvc – 使用Automapper更新现有的实体POCO
- 压力测试ASP.Net应用程序
- asp.net-mvc – ActionResult上的自定义属性
- asp.net – 如何在EF DbContext和AspNet Membership之间共享
- asp.net-mvc – IoC Castle Windsor – 没有为此对象定义的
- asp.net – 通过邮件发送wcf服务消费表单数据
- ASP.NET Core WebApi将错误消息返回给AngularJS $http prom
- asp.net-mvc – 如何为mvc应用程序中的所有控制器启用ssl
- asp.net-mvc – MVC:覆盖默认的ValidationMessage
- ASP.NET JSON字符串与实体类的互转换示例代码
- ASP.NET关闭FriendlyURLs mobile.master页面
- asp.net – 你能用Javascript来检测服务器端创建
- asp.net-mvc – 使用ASP.NET Identity 2.0 UserM
- asp.net – 存储字符串数组在appSettings?
- 应该在ASP.NET页面中完成哪些操作?
- asp.net-mvc – 在表单提交时传递整个模型
- asp.net-mvc – 无法导出Kendo Grid中的隐藏列
- asp.net-mvc-3 – 如何在ASP.NET MVC中创建递归结
- 在asp.net mvc中可以做一个通用的控制器吗?
