asp.net – 如何使用WebApi将POSTHttpRoute POST到自定义操作?
发布时间:2020-12-16 07:28:44 所属栏目:asp.Net 来源:网络整理
导读:我试图弄清楚Web API路由背后的疯狂. 当我尝试发布这样的数据时: curl -v -d "test" http://localhost:8088/services/SendData 我收到404,并出现以下错误消息: {"Message":"No HTTP resource was found that matches the request URI 'http://localhost:80
我试图弄清楚Web API路由背后的疯狂.
当我尝试发布这样的数据时: curl -v -d "test" http://localhost:8088/services/SendData 我收到404,并出现以下错误消息: {"Message":"No HTTP resource was found that matches the request URI 'http://localhost:8088/services/SendData'.","MessageDetail":"No action was found on the controller 'Test' that matches the request."} 这是我的测试服务器的代码. public class TestController : ApiController { [HttpPost] public void SendData(string data) { Console.WriteLine(data); } } class Program { static void Main(string[] args) { var config = new HttpSelfHostConfiguration("http://localhost:8088"); config.Routes.MapHttpRoute( name: "API Default",routeTemplate:"services/SendData",defaults: new { controller = "Test",action = "SendData"},constraints: null); using (var server = new HttpSelfHostServer(config)) { server.OpenAsync().Wait(); Console.WriteLine("Press Enter to quit."); Console.ReadLine(); } } } 更一般地说,为什么ASP.NET团队决定使MapHttpRoute方法如此混乱.为什么需要两个匿名对象….如何知道这些对象实际需要哪些属性? MSDN没有提供任何帮助:http://msdn.microsoft.com/en-us/library/hh835483(v=vs.108).aspx 如果你问我,动态类型语言的所有痛苦都没有任何好处…… 解决方法
使用此签名,它将每次都有效.
public class TestController : ApiController { [HttpPost] [ActionName("SendData")] public HttpResponseMessage SendData(HttpRequestMessage request) { var data = request.Content.ReadAsStringAsync().Result; Console.WriteLine(data); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 使用Using语句的SQLConnection,从里面调用SQLDa
- asp.net – log4net在应用程序关闭之前不会写入日志条目
- ASP.NET Core MVC 过滤器介绍
- 如何设置文本框的值textmode = date ASP.NET C#
- asp.net-mvc – mvc – 页面标题 – 两种不同的设置
- asp.net – 如何在Kendo UI中获取下拉菜单的选定项目的文本
- 在asp.net中按日期对directoryinfo中的文件进行排序
- asp.net-mvc – Html.DisplayFor不发布值到控制器在ASP.NET
- 使用一个Asp.net成员数据库与多个应用程序单一登录
- asp.net – 如何准备控制器使用Session但是可以测试?
推荐文章
站长推荐
- asp-classic – 经典的ASP gremlims,每当使用HTM
- asp.net – ServerVariables [“HTTP_HOST”]和S
- 如何打开一个页面在新的选项卡按钮点击asp.net?
- 获取asp.net中的上一页名称
- asp.net – 以编程方式访问httpRuntime maxReque
- 流作为System.Net.Mail的附件是0字节
- asp.net – 如何将JsonResult对象作为字符串获取
- 在asp.net中缓存sql server数据,直到修改行为止
- iis-7 – ASP.NET MVC4在IIS7集成模式下不处理PO
- 谈谈分布式事务之三: System.Transactions事务详
热点阅读