我在我的网站上使用REST API之类的东西。我使用的是PUT方法。
[HttpPut]
public ActionResult OrderChapter(ClientOrder order)
但它不是Web API,它是MVC控制器。起初我收到405错误(Method Not Allowed)。谷歌说我需要删除WebDAVModule
<system.webServer>
<modules>
<remove name="WebDAVModule" />
</modules>
在此之后我有500错误。而且这不是我的代码。添加此内容没有任何改变:
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
我的主机说没有明确禁止PUT,PATCH和DELETE方法。
出了什么问题?也许在IIS的设置中这个方法是不允许的?
答案 0 :(得分:0)
通常,错误代码#500
与某些内部服务器错误有关,而且它也是官方定义。
用外行的话来说,PUT
操作中的代码似乎有问题,快速调试PUT
操作方法会给出问题的答案,可能是一些例外已被抛出,并由您的Web服务器(例如IIS)转换为500错误代码。