我试图在控制器中使用“ PUT”,例如

public class HomeController : Controller
    {
        [HttpPut]
        public ContentResult Test()
        {
            return Content("hi");
        }
    }


但我无法访问它。我以为是我的代码,但是在尝试了提琴手并得到相同的错误之后(404)。

我认为还有其他问题。我只是在使用iis express和mvc 5。

在我从未使用过HttpPut但最近才使用webapi之前,这就是为什么我尝试在mvc 5控制器中进行操作,但是我不确定在这种情况下是否能带给我任何东西(尤其是需要额外的设置,因为它似乎很必要)



发布请求作品

最佳答案

另一种可能性是更新ExtensionlessUrlHandler-Integrated-4.0。

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


可以在以下位置找到该解决方案:
Attribute routing with http PUT method constraint

10-07 13:54