gpt4 book ai didi

c# - 以编程方式创建应用程序和服务

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:27 24 4
gpt4 key购买 nike

对于我们的新项目,我们必须支持 Multi-Tenancy 场景。建议每个租户都有一个应用程序是最安全的模型,因此我们在逻辑上将我们的应用程序分为 SystemAppsTenantApps

应(在内部)通过以下方式访问租户服务的位置

结构:/TenantApps_{tenantId}/SomeTenantSvc

我们打算有一个系统服务来创建和删除客户端应用程序并检查它们的健康状况。这些应用程序将有一个默认服务,该服务会根据他们的订阅启动/停止其应用程序中的其他服务。

理论上一切都很好,但我终其一生都找不到从代码创建新应用程序和服务的地方。我假设它与 FabricRuntime 有关 - 但更详细的细节让我难以理解。

如果有人能够提供示例或链接到正确的文档,那么我将不胜感激。

最佳答案

Here's文档。

这是使用现有应用程序类型在代码中创建应用程序实例的方法:

string appName = "fabric:/MyApplication";
string appType = "MyApplicationType";
string appVersion = "1.0.0";

var fabricClient = new FabricClient();

// Create the application instance.
try
{
ApplicationDescription appDesc = new ApplicationDescription(new Uri(appName), appType, appVersion);
await fabricClient.ApplicationManager.CreateApplicationAsync(appDesc);
}
catch (AggregateException ae)
{
}

对于服务:

// Create the stateless service description.  For stateful services, use a StatefulServiceDescription object.
StatelessServiceDescription serviceDescription = new StatelessServiceDescription();
serviceDescription.ApplicationName = new Uri(appName);
serviceDescription.InstanceCount = 1;
serviceDescription.PartitionSchemeDescription = new SingletonPartitionSchemeDescription();
serviceDescription.ServiceName = new Uri(serviceName);
serviceDescription.ServiceTypeName = serviceType;

// Create the service instance. If the service is declared as a default service in the ApplicationManifest.xml,
// the service instance is already running and this call will fail.
try
{
await fabricClient.ServiceManager.CreateServiceAsync(serviceDescription);
}
catch (AggregateException ae)
{}

关于c# - 以编程方式创建应用程序和服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43719599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com