如何将子站点请求映射到父站点?

问题描述 投票:1回答:1

例如,我们有一个整体式ASP.NET应用程序,[C0]。在其内部,在路径/ api,例如,>>处有许多控制器。

https://my-site.com

https://my-site.com/api/user

https://my-site.com/api/order

现在,我们正在尝试将整体拆分为单独的服务。这些服务是单独的.NET Core应用程序。他们将逐步替换/ api

路径中的所有那些控制器。因此,尽管整体中的某些控制器仍应正常工作,但我们需要添加单独的应用程序来处理对https://my-site.com/api/cart。]]的请求。

该站点托管在IIS中。如果我们为https://my-site.com/api/user站点创建子应用程序api

,则IIS开始将所有对/ api / whatever的请求映射到api子应用程序而不是父应用程序现场。如何将IIS映射请求仅针对api子应用程序中确实存在的路径,而将其他映射到父单块呢?

到目前为止我们已经尝试过的...在system.webServer中的整体的web.config

中,我们在handlers部分中添加了一个条目,如下所示:
https://my-site.com

为此,我们希望将IIS映射/ api / order

请求发送到整体,因此忽略现有的api
子应用程序。

但是,事实证明IIS首先选择了子应用程序,之后又检查了它的web.config。

那么有什么方法可以欺骗IIS,并使其仅将某些请求映射到api子应用程序?

[例如,我们在https://my-site.com上拥有一个整体式ASP.NET应用程序。在其中的/ api路径中有许多控制器,例如https://my-site.com/api/user https://my-site.com/api/order ...

c# asp.net-mvc asp.net-core iis web-config
1个回答
0
投票

[请通过在IIS URL重写中创建新规则来使用以下代码

<add name="api-order" verb="*" path="api/order*" type="Monolith.Controllers.Api.Order" preCondition="managedHandler"/>

© www.soinside.com 2019 - 2024. All rights reserved.