Megosztás a következőn keresztül:


A Service Fabric-alkalmazás StartupServices.xml bemutatása

Ez a funkció bemutatja StartupServices.xml fájlt egy Service Fabric-alkalmazástervben. Ez a fájl a ApplicationManifest.xml DefaultServices szakaszát üzemelteti. Ezzel az implementációval a DefaultServices és a szolgáltatásdefinícióval kapcsolatos paraméterek átkerülnek a meglévő ApplicationManifest.xml az új, StartupServices.xml nevű fájlba. Ezt a fájlt a Visual Studio minden funkciójában (Build/Rebuild/F5/Ctrl+F5/Publish) használják.

StartupServices.xml csak Visual Studio-környezetekhez készült. Ennek a megoldásnak az a célja, hogy a Visual Studióval (StartupServices.xml) üzembe helyezett csomagok ne ütközhessenek az ARM által üzembe helyezett szolgáltatásokkal.

StartupServices.xml nem az alkalmazáscsomag részeként van csomagolva. A DevOps-folyamat nem támogatja, és az ügyfeleknek egyedi szolgáltatásokat kell üzembe helyeznie egy alkalmazásjegyzékben ARM-en vagy a kívánt konfigurációjú parancsmagokon keresztül.

Meglévő Service Fabric-alkalmazástervezés

Minden service fabric-alkalmazás esetében a ApplicationManifest.xml az alkalmazás összes szolgáltatással kapcsolatos információjának forrása. ApplicationManifest.xml az összes paraméterből, ServiceManifestImportból és DefaultService-ből áll. A konfigurációs paraméterek Cloud.xml/Local1Node.xml/Local5Node.xml fájlokban találhatók az ApplicationParameters alatt.

Amikor egy alkalmazás új szolgáltatást ad hozzá, a rendszer új szolgáltatásparamétereket, ServiceManifestImport és DefaultServices szakaszokat ad hozzá ApplicationManifest.xml. A konfigurációs paraméterek Cloud.xml/Local1Node.xml/Local5Node.xml fájlokban jelennek meg az ApplicationParameters alatt.

Amikor a felhasználó kiválasztja a Visual Studióban a Build/Rebuild függvényt, a ServiceManifestImport, a Paraméterek és a DefaultServices szakaszok módosítása ApplicationManifest.xml történik. A konfigurációs paraméterek Cloud.xml/Local1Node.xml/Local5Node.xml fájlokban is szerkeszthetők az ApplicationParameters alatt.

Ha a felhasználó aktiválja az F5/Ctrl+F5/Publish billentyűkombinációt, az alkalmazás és a szolgáltatások üzembe helyezése vagy közzététele a ApplictionManifest.xml információi alapján történik. A konfigurációs paraméterek az ApplicationParameters alatt található bármely Cloud.xml/Local1Node.xml/Local5Node.xml fájlból használhatók.

Service Fabric-alkalmazás meglévő tervezése

Minta ApplicationManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest ApplicationTypeName="SampleAppType"
                     ApplicationTypeVersion="1.0.0"
                     xmlns="http://schemas.microsoft.com/2011/01/fabric"
                     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Parameters>
    <Parameter Name="Web1_ASPNETCORE_ENVIRONMENT" DefaultValue="" />
    <Parameter Name="Web1_MinReplicaSetSize" DefaultValue="3" />
    <Parameter Name="Web1_PartitionCount" DefaultValue="1" />
    <Parameter Name="Web1_TargetReplicaSetSize" DefaultValue="3" />
  </Parameters>
  <!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion 
       should match the Name and Version attributes of the ServiceManifest element defined in the 
       ServiceManifest.xml file. -->
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="Web1Pkg" ServiceManifestVersion="1.0.0" />
    <ConfigOverrides />
    <EnvironmentOverrides CodePackageRef="code">
      <EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="[Web1_ASPNETCORE_ENVIRONMENT]" />
    </EnvironmentOverrides>
  </ServiceManifestImport>
  <DefaultServices>
    <!-- The section below creates instances of service types, when an instance of this 
         application type is created. You can also create one or more instances of service type using the 
         ServiceFabric PowerShell module.
         
         The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. -->
    <Service Name="Web1" ServicePackageActivationMode="ExclusiveProcess">
      <StatefulService ServiceTypeName="Web1Type" TargetReplicaSetSize="[Web1_TargetReplicaSetSize]" MinReplicaSetSize="[Web1_MinReplicaSetSize]">
        <UniformInt64Partition PartitionCount="[Web1_PartitionCount]" LowKey="-9223372036854775808" HighKey="9223372036854775807" />
      </StatefulService>
    </Service>
  </DefaultServices>
</ApplicationManifest>

Új Service Fabric-alkalmazástervezés StartupServices.xml

Ebben a kialakításban egyértelmű különbség van a szolgáltatásszint-információk (például a szolgáltatásdefiníció és a szolgáltatásparaméterek) és az alkalmazásszintű információk (ServiceManifestImport és ApplicationParameters) között. StartupServices.xml az összes szolgáltatásszintű információt tartalmazza, míg ApplicationManifest.xml az összes alkalmazásszintű információt. Egy másik bevezetett változás a Cloud.xml/Local1Node.xml/Local5Node.xml hozzáadása a StartupServiceParameters alatt, amely csak a szolgáltatásparaméterekhez van konfigurálva. Az ApplicationParameters területen meglévő Cloud.xml/Local1Node.xml/Local5Node.xml csak alkalmazásszintű paraméterek konfigurációját tartalmazza.

Amikor új szolgáltatást ad hozzá az alkalmazáshoz, az alkalmazásszintű paraméterek és a ServiceManifestImport ApplicationManifest.xml lesznek hozzáadva. Az alkalmazásparaméterek konfigurációja Cloud.xml/Local1Node.xml/Local5Node.xml fájlokban lesz hozzáadva az ApplicationParameters alatt. A szolgáltatásinformációk és a szolgáltatásparaméterek StartupServices.xml vannak hozzáadva, a szolgáltatásparaméterek konfigurációja pedig a StartupServiceParameters alatt Cloud.xml/Local1Node.xml/Local5Node.xml.

A projekt összeállítása/újraépítése, a ServiceManifestImport módosítása során az alkalmazásparaméterek a ApplicationManifest.xml történnek. Az alkalmazásparaméterek konfigurálása Cloud.xml/Local1Node.xml/Local5Node.xml fájlokban is szerkeszthető az ApplicationParameters alatt. A szolgáltatással kapcsolatos információkat a rendszer StartupServices.xml szerkessze, a szolgáltatásparaméterek pedig a StartupServiceParameters területen Cloud.xml/Local1Node.xml/Local5Node.xml.

Ha a Visual Studióban aktiválódik az F5/Ctrl+F5/Publish, az alkalmazás üzembe helyezése/közzététele ApplictionManifest.xml az ApplicationParameters alatt található Cloud.xml/Local1Node.xml/Local5Node.xml fájlokból származó információk és alkalmazásparaméterek alapján történik. Minden szolgáltatás külön-külön indul el a StartupServices.xml és a szolgáltatásparaméterek konfigurációjának szolgáltatásinformációival a StartupServiceParameters alatt található bármely Cloud.xml/Local1Node.xml/Local5Node.xml fájlból.

Service Fabric-alkalmazás új tervezése StartupServices.xml

Ezek a szolgáltatásparaméterek és alkalmazásparaméterek szerkeszthetők az alkalmazások közzététele előtt (jobb gombbal kattintson a> közzétételre) a képen látható módon.

Közzétételi lehetőség az Új tervezésben

Minta ApplicationManifest.xml új kialakításban

<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest ApplicationTypeName="SampleAppType"
                     ApplicationTypeVersion="1.0.0"
                     xmlns="http://schemas.microsoft.com/2011/01/fabric"
                     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Parameters>
    <Parameter Name="Web1_ASPNETCORE_ENVIRONMENT" DefaultValue="" />
  </Parameters>
  <!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion 
       should match the Name and Version attributes of the ServiceManifest element defined in the 
       ServiceManifest.xml file. -->
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="Web1Pkg" ServiceManifestVersion="1.0.0" />
    <ConfigOverrides />
    <EnvironmentOverrides CodePackageRef="code">
      <EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="[Web1_ASPNETCORE_ENVIRONMENT]" />
    </EnvironmentOverrides>
  </ServiceManifestImport>
</ApplicationManifest>

Minta StartupServices.xml fájl

<?xml version="1.0" encoding="utf-8"?>
<StartupServicesManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xmlns="http://schemas.microsoft.com/2011/01/fabric">
  <Parameters>
    <Parameter Name="Web1_InstanceCount" DefaultValue="-1" />
  </Parameters>
  <Services>
    <!-- The section below creates instances of service types, when an instance of this 
         application type is created. You can also create one or more instances of service type using the 
         ServiceFabric PowerShell module.

         The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. -->
    <Service Name="Web1" ServicePackageActivationMode="ExclusiveProcess">
      <StatelessService ServiceTypeName="Web1Type" InstanceCount="[Web1_InstanceCount]">
        <SingletonPartition />
      </StatelessService>
    </Service>
  </Services>
</StartupServicesManifest>

A startupServices.xml funkció az SF SDK 5.0.516.9590-es vagy újabb verziójában minden új projekthez engedélyezve van. Az SDK régebbi verziójával létrehozott projektek teljes mértékben kompatibilisek a legújabb SDK-val. A régi projektek új kialakításba való migrálása nem támogatott. Ha a felhasználó az SDK újabb verziójában StartupServices.xml nélkül szeretne Létrehozni egy Service Fabric-alkalmazást, a felhasználónak a következő képen látható módon válassza a "Segítség projektsablon kiválasztásához" hivatkozást.

Új alkalmazás létrehozása lehetőség az Új tervezésben

Következő lépések