gpt4 book ai didi

c# - 404 Rejected-By-UrlScan 删除请求

转载 作者:太空宇宙 更新时间:2023-11-03 22:57:06 24 4
gpt4 key购买 nike

在我的 Web API 上,我有一些可以完美运行的 [HttpGet] 函数,但是 [HttpDelete](在同一个 Controller 上)却不行工作,它返回 404 错误。

[Authorize]
[RoutePrefix("Users")]
public class UsersController : ApiController
{
[HttpDelete]
[Route("DeleteUser/{ID}")]
public void Delete(int id)
{
_UserRepository.Delete(id);
}
}

在 web.config 上,我将 verb 设置为 *:

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

AJAX 调用:

deleteUser = function (id, callback) {
$.ajax({
url: "../../API/Users/DeleteUser/" + id,
type: "DELETE",
success: function () {
callback;
}
});
}

错误:

HTTP Error 404.0 - Not Found Detailed Error Information Module IIS Web Core Notification MapRequestHandler Handler StaticFile

Error Code 0x80070002

Requested URL https://www.example.com:443/Rejected-By-UrlScan?~/API/Users/DeleteUser/155

Physical Path d:\wr\mySite\example.com\Rejected-By-UrlScan Logon Method Anonymous Logon User Anonymous

所有调用都使用 OWIN 身份验证和不记名 token 进行身份验证。

同一页面上的工作调用示例:

getUsers = function (callback) {
$.get("../../API/Users/GetUsers/", callback);
}

是什么原因导致的?

最佳答案

如另一个 post 所述, IIS 中可能配置了一个扩展 ( UrlScan ) 来阻止 DELETE 请求。您可以检查您的 IIS 是否有此扩展。

关于c# - 404 Rejected-By-UrlScan 删除请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44878439/

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