【问题标题】:Azure Service Fabric:How to pass data to guest executable at run time?Azure Service Fabric:如何在运行时将数据传递给来宾可执行文件?
【发布时间】:2018-07-24 21:05:37
【问题描述】:

我有一个无状态服务,可以按需启动新的来宾可执行文件。我需要在服务创建时将一些数据传递给来宾可执行文件。 我该怎么做??

【问题讨论】:

  • 能否将数据存储在一个公共位置,以便来宾可执行文件在运行时获取它?只是大声思考:我是 SF 的新手,不确定您要问的是否可行。 “按需”是什么意思——可执行文件是如何触发的?

标签: azure microservices azure-service-fabric azure-cloud-services


【解决方案1】:

您可以使用Arguments 传递命令行参数 通过在服务清单中设置WorkingFolder,并将(配置)文件添加到可执行文件中。

<EntryPoint>
   <ExeHost>
      <Program>node.exe</Program>
      <Arguments>bin/www</Arguments>
      <WorkingFolder>CodePackage</WorkingFolder>
   </ExeHost>
</EntryPoint>

【讨论】:

  • 但是微调器服务从用户那里获取数据并且需要传递该数据,所以入口点不能在那里使用。假设用户提供服务名称并要求我们使用该名称创建访客服务
  • 在这种情况下,您可以使用FabricClient.ServiceManager 创建服务的动态实例。 docs.microsoft.com/en-us/dotnet/api/… 并将二进制信息传递给 ctor 为 InitializationData
  • yp 但它(InitializationData)在来宾可执行文件中不受支持:(
猜你喜欢
  • 2018-10-04
  • 2016-12-10
  • 1970-01-01
  • 2019-04-26
  • 2017-01-28
  • 2019-08-16
  • 2020-08-12
  • 2018-03-11
  • 2017-07-07
相关资源
最近更新 更多