如果您创建一个新的 Service Fabric Web Api 应用程序,则该PackageRoot/ServiceManifest.xml
文件具有一个ServiceManifest/Resource/Endpoints/Endpoint
具有属性的节点Port
。Service Fabric 使用它来决定托管服务的端口。
但是,如果您删除此属性,Service Fabric 将为您动态选择一个端口。
我正在尝试找到一种在应用程序运行时获取该端口的方法。
我知道我可以向 Service Fabric API 询问我的服务的端点列表,然后通过我当前的节点限制它。这非常接近。但是如果由于某种原因我的服务在同一个节点上托管了两次,那么我将无法知道哪个是“当前”应用程序。
我希望有一种方法不涉及对集群的服务调用。
选择的端口是否存储在我可以访问的地方。(在StatefulServiceContext
也许?