c# - 从 localhost 删除方法工作正常,但从 IIS 删除方法不起作用-web api

标签 c# asp.net-mvc asp.net-web-api

我正在尝试从数据库中删除一个对象;我有一个 UI 层和一个服务层,我在 IIS 上分别加载了 UI 和服务。我正在使用 asp.net web api 并使用 http 删除方法发送请求。所以当我运行服务(使用 f5)时将删除请求发送到 http://localhost:15957/ 一切正常。 但是,当我将请求发送到 iis 中托管的网站时,出现此错误:

HTTP Error 405.0 - Method Not Allowed

我查看响应 header ,发现意外的 header :

Allow:GET, HEAD, OPTIONS, TRACE

我不添加此 header 。

在服务层的 Web.config 上,我将以下内容添加到 CORS 的 header 中:

<customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type, x-xsrf-token" />
        <add name="Access-Control-Allow-Methods" value="PUT, GET, POST, DELETE" />
</customHeaders>

我的问题是什么?

最佳答案

更新 IIS web.config 文件以允许您需要的所有功能。只需检查是否指定了所需的内容即可。

<system.webServer>
    <handlers>
        <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0"/>
        <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0"/>
        <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
    </handlers>
</system.webServer>

关于c# - 从 localhost 删除方法工作正常,但从 IIS 删除方法不起作用-web api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206146/

相关文章:

c# - 如何在 MVC 4 中用图像保存模型

asp.net - 从经典的 ASP.NET 到 MVC 的 ASP.NET

c# - 从表中获取单个值的最佳方法?

.net - WebAPI 中的单元测试操作参数

c# - 在 C# winforms 中使用 CMD 命令

c# - WPF TreeView 绑定(bind)多个子集合

c# - 在 app.config connectionstring 中设置 "Application.StartupPath"

javascript - Angular promise 返回 __proto__

c# - WebAPI PushStreamContent 远程主机关闭连接

c# - 从使用 .NET 3.5 框架构建的应用程序中将 100 万行和 500 列数据从 SQL 数据库导出到 excel