【问题标题】:IIS PUT does not work, but GET and POST workIIS PUT 不工作,但 GET 和 POST 工作
【发布时间】:2022-01-08 18:33:12
【问题描述】:

我在 ASP .NET 4.8.0 中有一个 IIS WebAPI。

它适用于 GET 和 POST 方法。但是,当我尝试 PUT 时,它返回 404 - Not Found 错误。

我通过将它添加到我的 Web.config 文件解决了这个问题:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
        <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
        <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,PUT" />
    </handlers>
</system.webServer>

现在 PUT 可以工作了。但是,现在的问题是,每当我对应用程序中不存在的资源使用任何请求时,我都会得到 200 OK 响应,而不是 404 - 未找到。

有人可以帮我看看可能是什么问题吗?

【问题讨论】:

    标签: asp.net iis webapi


    【解决方案1】:

    我摆弄了一下,然后删除了处理程序标签。所以现在,我在 Web.config 文件中的 system.webServer 标签看起来像这样:

    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
        </modules>
    </system.webServer>
    

    现在 PUT 适用于有效资源,对于无效资源,我得到 404 - Not Found,这正是我想要的。 现在一切正常。但是,如果有人可以向我解释为什么会这样,我将不胜感激:)

    【讨论】:

      猜你喜欢
      • 2018-02-06
      • 2014-06-23
      • 2015-01-17
      • 2015-05-26
      • 2020-12-08
      • 2013-06-07
      • 2021-07-04
      • 2020-08-23
      • 1970-01-01
      相关资源
      最近更新 更多