Usando .NET Core Web API como sub-rota do ASP.NET Web Forms Application

Aug 25 2020

Eu tenho o aplicativo .NET Framework 4.8 ASP.NET Web Forms. Usar manipuladores ashx é bastante inconveniente, então quero usar a API da Web .NET Core (para alternar todo o meu código de manipuladores para controladores e alternar todo o aplicativo para .NET Core).

Eu sei que anexar ASP.NET WebAPI a ASP.NET Web Forms é fácil , mas estou lutando com .NET Core WebAPI, porque seu pipeline de solicitação é diferente.

Há alguma maneira de usar o projeto .NET Core WebAPI do aplicativo Web Forms existente como uma sub-rota?

Respostas

AndreaCi Aug 25 2020 at 22:06

Eu não acho que isso seja possível. Segmentar .net framework e .net core é uma coisa completamente diferente.

Eu criaria dois aplicativos diferentes e usaria IIS UrlRewrite/ARR para redirecionar solicitações específicas para o aplicativo principal:

<rule name="ReverseProxyInboundRule1" stopProcessing="true">
    <match url="^api/(.*)" />
    <action type="Rewrite" url="http://localhost:44444/{R:0}" logRewrittenUrl="false" />
</rule>

desta forma, qualquer requisição direcionada para /api/ será encaminhada (internamente no IIS, não do cliente) para outra aplicação web escutando na porta 44444