ASP MVC:HTTP错误405.0 - 不允许的方法

时间:2017-11-18 20:28:08

标签: visual-studio asp.net-mvc-4 iis http-status-code-405

我在Windows 10机器上运行了ASP MVC 4 Visual Studio 2017项目。当我的页面加载时,它会使jquery ajax post调用以加载页面的内容。现在当我运行项目时,它正在给我 HTTP错误405.0 - 方法不允许错误页面。

Error Screenshot

这是我到目前为止所做的:

  • 检查WebDAV并确保它没有运行。
  • 确保所有处理程序都有适当的动词。实际上我在%windir%\ system32 \ inetsrv \ config \ applicationhost.config文件中的所有处理程序标记中添加了“GET,HEAD,POST,DEBUG,PUT,DELETE”,以确保我不会想念任何人。

注意:此网站以前在我浏览Visual Studio 2017时工作。我将项目配置为使用SSL,这是我开始遇到这个405错误的时候。我改变了项目不使用SSL,但我仍然遇到这个405错误。

你们可以建议我如何解决这个问题吗? 感谢

Razor Code:

<ul class="partialContents" data-url="@Url.Action("LoadUser", "BaseWeb")"></ul>

Jquery的:

$(".partialContents").each(function (index, item){
    var url = $(item).data("url");
    if (url && url.length > 0) {
        $(item).load(url);
    }
});

控制器:

public async Task<ActionResult> LoadUser()
{
    var httpClient = await GetHttpClient(); <--returns WebAPI running locally
    UserModel requestModel = new UserModel();
    requestModel.Email = ClaimsPrincipal.Current.FindFirst(ClaimTypes.Name).Value;

    var response = await httpClient.PostAsJsonAsync("api/user/", requestModel);
    var result = await response.Content.ReadAsStringAsync();
    var userModel = JsonConvert.DeserializeObject<List<UserModel>>(result);

    return PartialView("_LoadUser", userModel);
}

0 个答案:

没有答案