我对使用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();
因此可以在由通用主机托管的控制台应用程序中使用执行器端点。任何样品都是最欢迎的。预先感谢。
答案 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