【问题标题】:NServiceBus endpoint is not starting on Azure Service Fabric local clusterNServiceBus 终结点未在 Azure Service Fabric 本地群集上启动
【发布时间】:2018-12-31 15:46:46
【问题描述】:

我有一个在 Service Fabric 本地集群中运行的 .NetCore 无状态 WebAPI 服务。

 return Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult();

当我尝试启动 NServiceBus 端点时,我得到了这个异常:

对路径“C:\SfDevCluster\Data_App_Node_0\AppType_App10\App.APIPkg.Code.1.0.0.diagnostics”的访问被拒绝。

如何解决? VS 在管理员下运行。

【问题讨论】:

    标签: asp.net-core azure-service-fabric nservicebus


    【解决方案1】:

    您遇到的问题是因为您尝试写入的文件夹不应该由您的应用程序写入。

    包文件夹用于存储您的应用程序二进制文件,并且可以在节点中托管应用程序时动态重新创建。

    此外,在同一节点上运行的多个服务实例会重复使用二进制文件,因此不同实例可能会竞争使用文件。

    您应该指示您的应用程序写入WorkFolder

    public Stateless1(StatelessServiceContext context): base(context)
    {
       string workdir = context.CodePackageActivationContext.WorkDirectory;
    }
    

    上面的代码会给你一个这样的路径:

    'C:\SfDevCluster\Data_App_Node_0\AppType_App10\App.APIPkg.Code.1.0.0.diagnostics\work'

    此文件夹是动态的,将根据您的应用程序运行的节点或实例而变化,创建时,您的应用程序应该已经具有写入权限。

    有关详细信息,请参阅:

    how-do-i-get-files-into-the-work-directory-of-a-stateless-service?forum=AzureServiceFabric

    【讨论】:

      【解决方案2】:
      1. 打开文件夹属性“安全”选项卡
      2. 选择 ServiceFabricAllowedUsers
      3. 添加写权限

      【讨论】:

        猜你喜欢
        • 2017-09-27
        • 2020-01-11
        • 2016-10-23
        • 2017-05-06
        • 2016-09-28
        • 2017-07-19
        • 2019-03-20
        • 2018-10-08
        • 2017-07-04
        相关资源
        最近更新 更多