mvc WebApi属性路由产生405

时间:2016-03-10 14:12:22

标签: c# asp.net-mvc asp.net-web-api

在向项目添加WebApi控制器时,我收到405 Method Not Allowed消息。

我在我的网络配置中有这个;

 <remove name="WebDAV" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <remove name="OPTIONSVerbHandler" />
  <remove name="TRACEVerbHandler" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

我的WebApiConfig是;

    config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

我的方法是;

 public class CustomerQuotationController : ApiController
{

    [Route("api/CustomerQuotation/{id}")]
    [HttpPost]
    public HttpResponseMessage AddQuotation(int id)
    {     
        return new HttpResponseMessage(HttpStatusCode.Created);
    }
}

我能找到的所有帮助都说其他东西正在拦截方法动词。常见的罪魁祸首是WebDav,但已被删除。那么我如何确定还有什么可以拦截Put或Post电话?

我正在使用的网址是

http://localhost:2846/api/CustomerQuotation/1

0 个答案:

没有答案