【问题标题】:How to retrieve SF actor service name programmatically?如何以编程方式检索 SF 演员服务名称?
【发布时间】:2017-12-10 17:45:21
【问题描述】:

有没有办法以编程方式从其他服务中的 ServiceManifest.xml 检索 DefaultService Name 属性?示例:演员在 Web API 服务中的服务名称。我试图避免对任何东西进行硬编码。

【问题讨论】:

  • 如果您担心硬编码,您可以随时将其设置为 Config 包中的值。如果需要更改,您可以使用新值更新 Config 包。

标签: c# configuration azure-service-fabric service-fabric-actor


【解决方案1】:

我不知道如何避免对应用程序类型名称和其他内容进行硬编码,但您可以在控制器中尝试类似的操作

[HttpGet("{id:int}")]
public async Task<srting> Get(int id)
{
    var fabricClient = new FabricClient();
    string applicationTypeName = "ApplicationTypeName";
    string applicationVersion = "1.0.0";
    string actorServiceManifestName = "Actor1Pkg";
    var appManifest = await fabricClient.ServiceManager.GetServiceManifestAsync(applicationTypeName, applicationVersion, actorServiceManifestName);

    var document = XDocument.Parse(appManifest);
    ...
    // TODO: Get DefaultService Name attribute from simple XML
}

你会得到一个xml,然后找到想要的属性

【讨论】:

    猜你喜欢
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 2012-01-02
    • 2010-11-24
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多