gpt4 book ai didi

c# - Web API 删除方法不起作用

转载 作者:行者123 更新时间:2023-11-30 13:07:04 26 4
gpt4 key购买 nike

调用 DELETE 方法 Web API 未到达服务器。在整个网络上搜索类似问题后,对我来说都没有用。下面简要介绍了我的解决方案中的代码。

网络 API:

    [AuthorizeService]
[HttpDelete]
public HttpResponseMessage Delete(Int32 id)
{
String username = User.Identity.Name;
this._clientDataManager.DeleteRestaurant(id,username);

return new HttpResponseMessage(HttpStatusCode.OK);
}

Ajax 调用:

$.ajax({
url: 'localhost:53378/api/RestaurantWebAPI/1135',
type: "DELETE",
statusCode: {
200: function (data) {
//success
}
}, beforeSend: setHeader
});

Web.Config:

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<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>

感谢任何帮助。

最佳答案

好的,它开始工作了,但不知何故,这个解决方案让我有点困惑。首先是解决方案,最后将以下内容添加到 WebApiConfig 文件中:

   config.Routes.MapHttpRoute(
name: "DeleteApi",
routeTemplate: "api/{controller}/Delete/{id}",
defaults: new { name = RouteParameter.Optional }
);

现在,当请求类型设置为“DELETE”时,这不是 MVC 4 Web API 中的一项功能,可以将请求直接路由到 delete 方法吗?非常感谢对此事的任何澄清。

关于c# - Web API 删除方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13249039/

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