问题描述
我有.NET Framework 4.8 ASP.NET Web窗体应用程序。使用ashx处理程序非常不方便,因此我想使用.NET Core Web API(以便将我的所有代码从处理程序切换到控制器,并将整个应用程序切换到.NET Core)。
我知道将ASP.NET WebAPI附加到ASP.NET Web窗体是easy,但是我在.NET Core WebAPI方面苦苦挣扎,因为它的请求管道是不同的。
是否可以使用现有Web Forms应用程序中的.NET Core WebAPI项目作为子路由?
解决方法
我认为不可能。 面向.net框架和.net核心是完全不同的事情。
我将创建两个不同的应用程序,并使用IIS UrlRewrite / ARR将特定请求重定向到核心应用程序:
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="^api/(.*)" />
<action type="Rewrite" url="http://localhost:44444/{R:0}" logRewrittenUrl="false" />
</rule>
通过这种方式,任何指向/ api /的请求都将转发到侦听端口44444的另一个Web应用程序(在IIS内部,而不是从客户端)