【问题标题】:Using .NET Core Web API as subroute of ASP.NET Web Forms Application使用 .NET Core Web API 作为 ASP.NET Web 窗体应用程序的子路由
【发布时间】:2020-12-14 04:11:58
【问题描述】:

我有 .NET Framework 4.8 ASP.NET Web 窗体应用程序。使用 ashx-handlers 非常不方便,所以我想使用 .NET Core Web API(以便将我的所有代码从处理程序切换到控制器,并将整个应用程序切换到 .NET Core)。

我知道将 ASP.NET WebAPI 附加到 ASP.NET Web 窗体是 easy,但我正在努力使用 .NET Core WebAPI,因为它的请求管道不同。

是否有任何方法可以将现有 Web 窗体应用程序中的 .NET Core WebAPI 项目用作子路由?

【问题讨论】:

  • 你需要绑定一个接口,而不是一个类(表单就是一个类)。
  • @jdweng 这个问题不是关于DataBind,而是关于同时使用WebAPI和WebForms
  • OP 说“有什么方法可以绑定”。
  • @jdweng 编辑了我的问题以消除歧义
  • 还是接口问题。您可能正在传递一个 JSON 字符串,但仍希望将接口设为 JSON 字符串。

标签: c# asp.net asp.net-mvc asp.net-core webforms


【解决方案1】:

我认为这是不可能的。 针对 .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/ 的请求都将被转发(在 IIS 内部,而不是来自客户端)到侦听端口 44444 的另一个 Web 应用程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 2018-11-30
    • 2019-08-06
    • 1970-01-01
    • 2021-12-04
    相关资源
    最近更新 更多