Azure service fabric 服务结构0x80004005访问被拒绝为HttpListener打开端口

Azure service fabric 服务结构0x80004005访问被拒绝为HttpListener打开端口,azure-service-fabric,Azure Service Fabric,我在本地(开发)服务结构实例中遇到以下错误消息: 2016-09-20 12:56:16.5008 WARN 7 Metrics.Visualization.MetricsHttpListener Unable to start HTTP Listener. Sleeping for 1 sec and retrying 2 more times System.Net.HttpListenerException (0x80004005): Access is denied at Sy

我在本地(开发)服务结构实例中遇到以下错误消息:

2016-09-20 12:56:16.5008 WARN   7  Metrics.Visualization.MetricsHttpListener Unable to start HTTP Listener. Sleeping for 1 sec and retrying 2 more times System.Net.HttpListenerException (0x80004005): Access is denied
   at System.Net.HttpListener.AddAllPrefixes()
   at System.Net.HttpListener.Start()
   at Metrics.Visualization.MetricsHttpListener.Start() in C:\Work\Metrics.NET\Src\Metrics\Visualization\MetricsHttpListener.cs:line 97
   at Metrics.Visualization.MetricsHttpListener.<>c__DisplayClass15_0.<<StartHttpListenerAsync>b__0>d.MoveNext() in C:\Work\Metrics.NET\Src\Metrics\Visualization\MetricsHttpListener.cs:line 62
2016-09-20 12:56:16.5008警告7 Metrics.Visualization.MetricsHttpListener无法启动HTTP侦听器。休眠1秒并重试2次System.Net.HttpListenerException(0x80004005):访问被拒绝
在System.Net.HttpListener.AddAllPrefixes()中
在System.Net.HttpListener.Start()中
在C:\Work\Metrics.NET\Src\Metrics\Visualization\MetricsHttpListener.cs中的Metrics.Visualization.MetricsHttpListener.Start()处:第97行
在c:\Work\Metrics.NET\Src\Metrics\Visualization\MetricsHttpListener.c\uuu中显示Class15\u 0.d.MoveNext(),第62行
Metrics.Net正在尝试打开一个端口。显然,这是失败的。我想知道如何解决这个问题

在我的ServiceManifest.xml中,我添加了以下行:

 <Resources>
    <Endpoints>
      <!-- This endpoint is used by the communication listener to obtain the port on which to 
           listen. Please note that if your service is partitioned, this port is shared with 
           replicas of different partitions that are placed in your code. -->
      <Endpoint Name="MyApplicationTypeEndpoint" Protocol="http" Port="20002" />
    </Endpoints>
  </Resources>

端口是正确的

还有什么我需要处理的吗?

(另请注意-如何打开端口范围而不是单个端口?

是否确定要添加到HttpListener URL前缀的URL使用ServiceManifest.xml中定义的端口

“拒绝访问”是指:

  • 其他人已经在使用该端口
  • 您没有使用在ServiceManifest.xml中设置的端口
  • 您已经可以使用应用程序端口范围中的任何端口。该范围是服务结构通过操作系统防火墙打开的高端口号范围内的一组端口。这些端口来自TCP/IP堆栈在您打开端口0上的套接字时提供给您的应用程序端口池。或者,如果您在ServiceManifest.xml中设置了一个端点配置,并且没有指定端口号,那么您将从该范围中获得一个随机端口

    在ServiceManifest.xml中定义的端口主要用于http.sys URL ACLing。如果端口超出应用程序端口范围,它还将通过操作系统防火墙打开端口

    通过负载平衡器“开放”到Internet的端口是另一回事,与服务结构没有真正的关系。这更多的是硬件/拓扑配置(服务结构都是软件)。在Azure中,您可以通过集群的资源管理器JSON进行配置,甚至可以在创建集群时通过Azure门户进行配置


    应用程序端口范围是按群集中的每个节点(或Azure中的每个VM)定义的。

    您确定要添加到HttpListener URL前缀的URL使用ServiceManifest.xml中定义的端口吗

    “拒绝访问”是指:

  • 其他人已经在使用该端口
  • 您没有使用在ServiceManifest.xml中设置的端口
  • 您已经可以使用应用程序端口范围中的任何端口。该范围是服务结构通过操作系统防火墙打开的高端口号范围内的一组端口。这些端口来自TCP/IP堆栈在您打开端口0上的套接字时提供给您的应用程序端口池。或者,如果您在ServiceManifest.xml中设置了一个端点配置,并且没有指定端口号,那么您将从该范围中获得一个随机端口

    在ServiceManifest.xml中定义的端口主要用于http.sys URL ACLing。如果端口超出应用程序端口范围,它还将通过操作系统防火墙打开端口

    通过负载平衡器“开放”到Internet的端口是另一回事,与服务结构没有真正的关系。这更多的是硬件/拓扑配置(服务结构都是软件)。在Azure中,您可以通过集群的资源管理器JSON进行配置,甚至可以在创建集群时通过Azure门户进行配置


    应用程序端口范围是根据集群中的每个节点(或Azure中的每个VM)定义的。

    清楚说明。如果来宾可执行文件想要侦听servicemanifest中的同一端口,该怎么办?是“其他人”服务清单吗?否则,外部请求将如何到达可执行文件?清楚解释。如果来宾可执行文件想要侦听servicemanifest中的同一端口,该怎么办?是“其他人”服务清单吗?否则,外部请求如何到达可执行文件?