在向项目添加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