我几乎遍历了所有我能找到的关于SO等的文章。我已经对进行了更改以Web.config
符合答案,因为它们似乎都指向删除WebDAV
模块和处理程序。
但是,我仍然收到错误:
405不允许的方法
请求的资源不支持http方法“ PUT”。
注意:这最初只是一个MVC 4项目。我添加了工件以支持Web API。好像我可能错过了一些东西。
注意:GET
从Angular进行的调用工作正常。
configuration.Routes.MapHttpRoute( name: "Default API", routeTemplate: "api/{controller}/{id}", defaults: new { action = "Get", id = RouteParameter.Optional }, constraints: new { id = @"[\da-z-]{36}" }); configuration.Routes.MapHttpRoute( name: "Default API with Action", routeTemplate: "api/{controller}/{action}", defaults: new { action = "Get" }); var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter; formatter.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();Web.config
PUT
API输入
public async Task客户端Put([FromBody] EditUserViewModel viewModel)
vm.model.$update(function () { $state.go(userStates.app); });
是否有可能陷入第二种路由配置?如果是这样,如何验证.NET尝试使用的路由配置?