gpt4 book ai didi

asp.net - 405 不允许方法 PUT

转载 作者:行者123 更新时间:2023-12-02 18:01:50 24 4
gpt4 key购买 nike

我已经检查了所有内容,但没有一个配置工作正常。

GET、POST 正在工作,但是使用 put 我收到 405 消息。我没有 WebDEV。

这是我的配置。

<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<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" />
</handlers>
</system.webServer>

这让我发疯!

我已经引用了所有可用的建议,例如: Asp.NET Web API - 405 - HTTP verb used to access this page is not allowed - how to set handler mappings

enter image description here

即使我使用的是基本身份验证/Windows 身份验证。禁用此功能也没有什么区别。

[System.Web.HttpHttpPut] 公共(public)覆盖 HttpResponseMessage Put(int id, 请求实体){ ....}

NOTE: I have just put on staging server and it has worked. However, it is not working on my machine... enter image description here

enter image description here

最佳答案

您是否使用正确的命名空间中的 HttpPut 来装饰您的操作?应该看起来像这样:

[HttpPut]
public ActionResult ActionName()
{
//Your code
}

编辑:显然 iis express 默认情况下禁用删除和放置。如果这只发生在 iis express 中,您可能会发现 this answer有用的。基本上你必须编辑这个文件:

%userprofile%\documents\iisexpress\config\applicationhost.config 

在这一行:

<add name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

并添加动词 PUT

编辑编号 2:
正在关注This anwser :打开您的 iis 管理器并选择您的网站。
单击右侧的处理程序映射链接。
找到 ExtensionlessUrlHandler-Integrated-4.0 条目并双击它。
然后,您可以在“请求限制”选项卡动词中添加 put 以启用 put 支持。

关于asp.net - 405 不允许方法 PUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24926126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com