Как указать номер порта службы с помощью параметров в Service Fabric
В этой статье показано, как указать номер порта службы с помощью параметров в Service Fabric, используя Visual Studio.
Процедура указания номера порта службы с помощью параметров
В этом примере задается номер порта веб-API ASP.NET Core с помощью параметра.
Откройте Visual Studio и создайте приложение Service Fabric.
Выберите шаблон "ASP.NET Core без отслеживания состояния".
Выберите "Веб-API".
Откройте файл ServiceManifest.xml.
Обратите внимание на имя конечной точки, указанное для службы. По умолчанию —
ServiceEndpoint
.Откройте файл ApplicationManifest.xml.
В элемент
ServiceManifestImport
добавьте новый элементRessourceOverrides
со ссылкой на конечную точку в файле ServiceManifest.xml.<ServiceManifestImport> <ServiceManifestRef ServiceManifestName="Web1Pkg" ServiceManifestVersion="1.0.0" /> <ResourceOverrides> <Endpoints> <Endpoint Name="ServiceEndpoint"/> </Endpoints> </ResourceOverrides> <ConfigOverrides /> </ServiceManifestImport>
Теперь в элементе
Endpoint
можно с помощью параметра переопределить любой атрибут. В этом примере указывается атрибутPort
, и ему присваивается значение — имя параметра в квадратных скобках, например[MyWebAPI_PortNumber]
.<ServiceManifestImport> <ServiceManifestRef ServiceManifestName="Web1Pkg" ServiceManifestVersion="1.0.0" /> <ResourceOverrides> <Endpoints> <Endpoint Name="ServiceEndpoint" Port="[MyWebAPI_PortNumber]"/> </Endpoints> </ResourceOverrides> <ConfigOverrides /> </ServiceManifestImport>
Затем в файле ApplicationManifest.xml можно указать этот параметр в элементе
Parameters
.<Parameters> <Parameter Name="MyWebAPI_PortNumber" /> </Parameters>
После этого определите
DefaultValue
.<Parameters> <Parameter Name="MyWebAPI_PortNumber" DefaultValue="8080" /> </Parameters>
Откройте папку ApplicationParameters и откройте файл
Cloud.xml
.Чтобы указать другой порт для публикации на удаленный кластер, добавьте в этот файл параметр с номером порта.
<Parameters> <Parameter Name="MyWebAPI_PortNumber" Value="80" /> </Parameters>
При публикации приложения из Visual Studio с помощью профиля публикации Cloud.xml служба будет использовать порт 80. Если приложение развертывается без указания параметра MyWebAPI_PortNumber, то служба использует порт 8080.
Следующие шаги
Чтобы узнать больше о некоторых основных понятиях, рассмотренных в данной статье, ознакомьтесь с разделом Управление параметрами приложения для нескольких сред.
Сведения о других возможностях управления приложениями, доступными в Visual Studio, см. в статье Использование Visual Studio для упрощения создания приложений Service Fabric и управления ими.