Verwenden der .NET Core-Web-API als Subroutine der ASP.NET Web Forms-Anwendung

Aug 25 2020

Ich habe .NET Framework 4.8 ASP.NET Web Forms-Anwendung. Die Verwendung von ashx-Handlern ist recht unpraktisch, daher möchte ich die .NET Core-Web-API verwenden (um meinen gesamten Code von Handlern auf Controller umzustellen und die gesamte App auf .NET Core umzustellen).

Ich weiß, dass das Anhängen von ASP.NET WebAPI an ASP.NET Web Forms einfach ist , aber ich habe Probleme mit .NET Core WebAPI, da die Anforderungspipeline unterschiedlich ist.

Gibt es Möglichkeiten, das .NET Core WebAPI-Projekt aus einer vorhandenen Web Forms-App als Subroute zu verwenden?

Antworten

AndreaCi Aug 25 2020 at 22:06

Ich denke nicht, dass das möglich ist. Das Targeting von .net Framework und .net Core ist eine ganz andere Sache.

Ich würde zwei verschiedene Anwendungen erstellen und IIS UrlRewrite / ARR verwenden, um bestimmte Anforderungen an die Kernanwendung umzuleiten:

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

Auf diese Weise wird jede an / api / gerichtete Anforderung (intern in IIS, nicht vom Client) an eine andere Webanwendung weitergeleitet, die Port 44444 überwacht