asp.net WebApi不能接收到Put和Delete请求,试图发送Put和Delete请求时得到405异常

来源:互联网 发布:学php的就业面 编辑:程序博客网 时间:2024/06/05 16:08

情况如标题所述。

Visual Studio 2013 Utimate,windows 8.1 64bit,Asp.NET WebAPI2里遇到的情况。

主要解决方法来自

http://www.cnblogs.com/shanyou/archive/2012/03/23/2414252.html


亲测可用,改了之后就可以接收到Put和Delete请求(当然是符合一定规则的),并且可以得到参数。

PS:

public void Put(int id, [FromBody] string value)        {            int a = 1;        }

这样的一个函数,id可以得到,但是value没有得到。不知道为什么。     *****************备注1

请求形如:

http://192.168.2.37:99/api/Image/?id=1&value=asdfsdsd

用C#代码可以发送请求,用Fiddler软件也可以轻易地模拟各种http请求,相当好用。

==========

又查了一些资料,找到原因了,其中类似于

[FromBody]

的写法还有两种,一是[FromUri],一是[FromBase64Transform],如果传入的信息是在http请求字符串中,则将[FromUri] 改为[FromUri]即可得到Url字符串中传过来的数据。

即‘备注1’所描述的那个情况可以解决了。


0 0
原创粉丝点击