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

情况如标题所述。

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’所描述的那个情况可以解决了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值