【问题标题】:Running .net application next to asp core app on IIS在 IIS 上的 asp 核心应用程序旁边运行 .net 应用程序
【发布时间】:2020-07-05 03:42:05
【问题描述】:

我正试图让我的代码在进程中与一个 asp 核心网站一起运行。 使用 .net 框架可以选择创建模块。然后,为了“注入”该模块以便在站点运行时运行它,我需要做的就是将该模块添加到 web.config 或从 \app_code 中的 .cs 文件启动它。

在 asp 内核中,有一个叫做中间件的概念,但是要添加中间件,用户必须将其写入到他们的启动代码中。

我需要一种方法来在网站启动(访问的第一页)时运行我的 .net 核心代码,而不需要用户更改他们的代码来这样做。部署后更改配置文件是可以的,但不是编译文件。

有人知道怎么做吗?

谢谢。

【问题讨论】:

  • 您要运行什么 .net 应用程序?如果它是一个 .net Web 应用程序。您可以将其托管为子应用程序并运行应用程序初始化。docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/…
  • @jokiesding 这是一个有趣的选项,我会尝试使用它,但它最终会运行两个进程。我正在寻找一种在 Web 应用程序中运行的方法。
  • 只要应用共享同一个应用池,就只有一个进程

标签: asp.net-core iis module


【解决方案1】:

我在这里看到 2 个选项:

  1. Hosting startup assemblies

IHostingStartup(托管启动)实现增加了增强功能 从外部程序集到启动时的应用程序。例如,一个 外部库可以使用托管启动实现来提供 应用程序的其他配置提供程序或服务。

  1. IIS modules with ASP.NET Core - 如果您在 IIS 上运行应用程序,您仍然可以注入您的模块。手动将 web.config 添加到根目录并在其中配置您的模块。

【讨论】:

  • 托管启动程序集正是我想要的。 1. 无需更改原始用户代码即可运行 2. 可轻松部署到现有 Web 应用程序 此外,.net core 2.1 支持。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-14
  • 2019-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多