由GenericHost托管的.net核心控制台应用程序中的Cloudfoundry执行器端点

时间:2018-11-06 11:27:20

标签: .net-core steeltoe

我对使用Steeltoe的.net核心控制台应用程序中的CloudFoundry执行器端点有疑问。我打算使用通用主机https://jmezach.github.io/2017/10/29/having-fun-with-the-.net-core-generic-host/来执行一些后台任务。我想使用一些促动器端点,例如Health促动器。我可以在https://github.com/SteeltoeOSS/Samples/blob/dev/Management/src/AspDotNetCore/CloudFoundry/Startup.cs的WebHost上找到示例。下面的代码需要IApplicationBuilder

// Add management endpoints into pipeline
            app.UseCloudFoundryActuators();

因此可以在由通用主机托管的控制台应用程序中使用执行器端点。任何样品都是最欢迎的。预先感谢。

1 个答案:

答案 0 :(得分:0)

我理解希望使用控制台应用程序进行后台处理的感觉,但是一旦添加了使用HTTP的中间件,您就可以运行Web应用程序。

app.UseCloudFoundryActuators();配置CORS并将ASP.NET Core中间件添加到HTTP管道中。没有WebHost,您就没有管道向其添加中间件,因此在这种情况下,您将无法真正使用Steeltoe的现有管理执行器。

有可能添加执行器端点的另一种实现方式,这些实现器可以通过HTTP以外的方式进行通信(例如,RabbitMQ),Steeltoe Management的构建考虑到了便携式基本端点功能-但随后您还需要一个新的与他们进行交互的应用程序,您将无法在PCF上的Apps Manager中使用它们。

Microsoft的eShopOnContainers示例甚至演示了将后台任务应用程序构建为Web应用程序的原因(我假设是这样)。 Here's a background task app from that sample that has Steeltoe actuators