MVC url路由在IIS上部署后无法工作



我有一个MVC应用程序,它在本地运行得很好,但在IIS上部署时,所有路由返回404都找不到。在某些情况下,我的浏览器会显示布局,但不会带来该视图的数据,而是返回404。

我将向您展示一个在本地运行良好但在IIS中失败的方法。

[Route("/Customer/CustomerDetails/{id}")]
public async Task<IActionResult> CustomerDetails(int id)
{
ApiResult<eCOM_Backend.Api.Responses.Customer> apiResult = await _customerApiMethods.CustomerDetailsAsync(id);
eCOM_Backend.Api.Responses.Customer customerFromBackend = null;
if (!apiResult.HasException)
{
customerFromBackend = apiResult.Result;
}
else
{
return RedirectToAction("Error", "Error", new { reason = apiResult.Exception });
}
CustomerViewModel customer = customerFromBackend.ToCustomerViewModel();
return View(customer);
}

当我调用这种方法时,比如:xxx/Customer/CustomerDetails/123,我得到的页面找不到。

我尝试了很多解决方案(修改了appsettings.json、web.config等(,但到目前为止都没有成功。

非常感谢!

看起来这是dotnet核心。请确保在将应用程序发布到IIS时提供正确的物理路径。像inetpubwwwrootYourAppName。在IIS中,右键单击您的web应用程序>管理网站>高级设置,并确保物理路径以应用程序文件夹而非yourAppsomeOtherFolder结束

相关内容

最新更新