C# 如何在IIS上使用ASP.NET核心Web API配置SPA应用程序

C# 如何在IIS上使用ASP.NET核心Web API配置SPA应用程序,c#,asp.net-core,iis,single-page-application,C#,Asp.net Core,Iis,Single Page Application,我已经编写了一个Vue.js SPA web应用程序,它与ASP.NET核心web api对话。我最初在两个Docker容器中运行它(一个用于前端+Nginx,另一个用于api后端),但我发现自己需要在没有Docker的情况下在IIS上运行它 最初,我的后端.NET控制器路由配置为以/api开头: [ApiController] [路由(“api/[控制器]”)] 公共类控制器:ControllerBase { 我想保留这一点,以便Docker和IIS版本的代码尽可能相似,但我不知道如何将我的

我已经编写了一个Vue.js SPA web应用程序,它与ASP.NET核心web api对话。我最初在两个Docker容器中运行它(一个用于前端+Nginx,另一个用于api后端),但我发现自己需要在没有Docker的情况下在IIS上运行它

最初,我的后端.NET控制器路由配置为以
/api
开头:

[ApiController]
[路由(“api/[控制器]”)]
公共类控制器:ControllerBase
{
我想保留这一点,以便Docker和IIS版本的代码尽可能相似,但我不知道如何将我的后端应用程序添加到IIS网站,以使我保持相同的路由。目前,我必须将路由注释重写为
[route(“[controller]”)]
,才能在IIS上运行

以下是我在IIS中配置前端和后端的方式:

我正在使用URL重写模块,配置为将除
/api
URL以外的所有内容发送到前端:


如果不指定别名,就无法在IIS中添加应用程序。但是此别名(“api”)由IIS使用,并且.NET core web api从未看到它,因此需要从
路由
控制器属性中删除“api”


是否有办法修改配置,以便控制器获得整个路径,包括“api”部分?谢谢。

我认为您可以为api创建一个新站点。