获取不同服务的环境变量
Get environment variables of a different service
我正在使用 Service Fabric。我想从一项专用服务中检索其他服务的环境变量。有没有办法做到这一点 ? (扫描运行服务/循环/获取环境变量/检查是否设置了指定变量)。
我已经找到了读取进程环境块的方法 (here),但如果有 Service Fabric 函数,它可能会更好。
您可以从服务清单中获取环境变量,但可以在应用程序清单中覆盖这些变量。
这没有考虑服务在运行时创建的环境变量。
var client = new FabricClient();
var serviceManifest = await client.ServiceManager.GetServiceManifestAsync("Application1Type", "1.0.0",
"Service1Pkg");
var environmentVariables = XDocument.Parse(serviceManifest)
.Descendants()
.Where(x => x.Name == XName.Get("EnvironmentVariable", "http://schemas.microsoft.com/2011/01/fabric"))
.Select( x => new
{
Name = x.FirstAttribute.Value,
Value = x.LastAttribute.Value
})
.ToList();
我正在使用 Service Fabric。我想从一项专用服务中检索其他服务的环境变量。有没有办法做到这一点 ? (扫描运行服务/循环/获取环境变量/检查是否设置了指定变量)。
我已经找到了读取进程环境块的方法 (here),但如果有 Service Fabric 函数,它可能会更好。
您可以从服务清单中获取环境变量,但可以在应用程序清单中覆盖这些变量。 这没有考虑服务在运行时创建的环境变量。
var client = new FabricClient();
var serviceManifest = await client.ServiceManager.GetServiceManifestAsync("Application1Type", "1.0.0",
"Service1Pkg");
var environmentVariables = XDocument.Parse(serviceManifest)
.Descendants()
.Where(x => x.Name == XName.Get("EnvironmentVariable", "http://schemas.microsoft.com/2011/01/fabric"))
.Select( x => new
{
Name = x.FirstAttribute.Value,
Value = x.LastAttribute.Value
})
.ToList();