运行 Service Fabric 部署到节点后的命令?

Running CMD after ServiceFabric deployment to Node?

我有一个 CLR 探查器代理,我在部署到 Service Fabric 时将其添加到我的 ASP.NET 应用程序中。我可以成功地将我的应用程序和我的 CRL 代理的组件部署到服务器,并且我还确认如果我将 RDP 连接到节点并手动启动它,我的 CLR 分析器可以工作;在我的生命中,我无法弄清楚如何或在哪里可以在部署到我的节点后自动执行此命令的 运行ning。一旦我的应用程序的所有组件都完成部署,我需要 运行 一个 "startup.cmd" 文件。

我唯一能想到的地方就是修改我的项目标配的 "Deploy-FabricApplication.ps1"。对于 Azure 云,有一个 "ServiceDefinition.csdef" 文件的概念,它允许您启动任务但不确定这是否适用于 Service Fabric?

最好的方法是什么?

不完全确定最好的方法是什么。我假设您一直需要 CLR Profiler 运行?

我已经有一段时间没有使用它了,但是 ServiceManifest.xml 有一个添加 SetupEntryPoint 的选项,请参阅 https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-deploy-existing-app 以获取有关如何将来宾 exe 设置为服务的详细示例.

要点是在 servicemanifest 中的 CodePackage 标记中添加如下内容:

<SetupEntryPoint>
     <ExeHost>
         <Program>profiler\ClrProfiler.exe</Program>
     </ExeHost>
</SetupEntryPoint>

据我所知,最终结果是在每次服务启动之前,探查器也是 运行。

请注意,如果您有多个相同的实例(使用不同的名称或类似的名称),那么探查器可能会 运行在同一个 host/node 上多次 host/node。