Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa funzionalità introduce StartupServices.xml file in una progettazione di un'applicazione di Service Fabric. Questo file ospita la sezione DefaultServices di ApplicationManifest.xml. Con questa implementazione, i parametri correlati a DefaultServices e Definizione del servizio vengono spostati da ApplicationManifest.xml esistenti a questo nuovo file denominato StartupServices.xml. Questo file viene usato in ogni funzionalità (Build/Rebuild/F5/CTRL+F5/Publish) in Visual Studio.
StartupServices.xml è destinato solo alle distribuzioni di Visual Studio. Questa disposizione serve a garantire che i pacchetti distribuiti con Visual Studio (con StartupServices.xml) non abbiano conflitti con i servizi distribuiti tramite ARM.
StartupServices.xml non è incluso nel pacchetto dell'applicazione. Non è supportato nella pipeline DevOps e i clienti devono distribuire singoli servizi in un manifesto dell'applicazione tramite ARM o tramite i cmdlet con la configurazione desiderata.
Progettazione di applicazioni di Service Fabric esistenti
Per ogni applicazione di Service Fabric, ApplicationManifest.xml è l'origine di tutte le informazioni relative al servizio per l'applicazione. ApplicationManifest.xml è costituito da tutti i parametri, ServiceManifestImport e DefaultServices. I parametri di configurazione sono indicati nei file Cloud.xml/Local1Node.xml/Local5Node.xml in ApplicationParameters.
Quando un nuovo servizio viene aggiunto in un'applicazione, le nuove sezioni Parameters service, ServiceManifestImport e DefaultServices vengono aggiunte all'interno di ApplicationManifest.xml. I parametri di configurazione vengono aggiunti nei file Cloud.xml/Local1Node.xml/Local5Node.xml in ApplicationParameters.
Quando l'utente seleziona la funzione Build/Rebuild in Visual Studio, la modifica delle sezioni ServiceManifestImport, Parameters e DefaultServices si verifica in ApplicationManifest.xml. I parametri di configurazione vengono modificati anche nei file Cloud.xml/Local1Node.xml/Local5Node.xml in ApplicationParameters.
Quando l'utente attiva F5/CTRL+F5/Pubblica, le applicazioni e i servizi vengono distribuiti o pubblicati in base alle informazioni contenute in ApplictionManifest.xml. I parametri di configurazione vengono usati da qualsiasi file di Cloud.xml/Local1Node.xml/Local5Node.xml in ApplicationParameters.
Esempio 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>
Nuova progettazione di applicazioni di Service Fabric con StartupServices.xml
In questa progettazione esiste una chiara distinzione tra le informazioni sul livello di servizio (ad esempio, definizione del servizio e parametri del servizio) e le informazioni a livello di applicazione (ServiceManifestImport e ApplicationParameters). StartupServices.xml contiene tutte le informazioni a livello di servizio, mentre ApplicationManifest.xml contiene tutte le informazioni a livello di applicazione. Un'altra modifica introdotta è l'aggiunta di Cloud.xml/Local1Node.xml/Local5Node.xml in StartupServiceParameters, che include solo la configurazione per i parametri del servizio. Le Cloud.xml/Local1Node.xml/Local5Node.xml esistenti sotto ApplicationParameters contengono solo la configurazione dei parametri a livello di applicazione.
Quando viene aggiunto un nuovo servizio nell'applicazione, i parametri a livello di applicazione e ServiceManifestImport vengono aggiunti in ApplicationManifest.xml. La configurazione per i parametri dell'applicazione viene aggiunta nei file Cloud.xml/Local1Node.xml/Local5Node.xml in ApplicationParameters. Le informazioni sul servizio e i parametri del servizio vengono aggiunti in StartupServices.xml e la configurazione per i parametri del servizio vengono aggiunti in Cloud.xml/Local1Node.xml/Local5Node.xml in StartupServiceParameters.
Durante la compilazione/ricompilazione del progetto, la modifica di ServiceManifestImport e dei parametri dell'applicazione avviene in ApplicationManifest.xml. La configurazione dei parametri dell'applicazione viene modificata anche nei file Cloud.xml/Local1Node.xml/Local5Node.xml in ApplicationParameters. Le informazioni correlate al servizio vengono modificate in StartupServices.xml e i parametri del servizio vengono modificati in Cloud.xml/Local1Node.xml/Local5Node.xml in StartupServiceParameters.
Quando F5/CTRL+F5/Publish viene attivato in Visual Studio, l'applicazione viene distribuita/pubblicata in base alle informazioni provenienti da ApplictionManifest.xml e parametri dell'applicazione da qualsiasi Cloud.xml/Local1Node.xml/Local5Node.xml file in ApplicationParameters. Ogni servizio viene avviato singolarmente con le informazioni sul servizio da StartupServices.xml e dalla configurazione dei parametri del servizio da uno dei file Cloud.xml/Local1Node.xml/Local5Node.xml nelle StartupServiceParameters.
Questi parametri del servizio e i parametri dell'applicazione possono essere modificati prima di pubblicare un'applicazione (clic con il pulsante destro del mouse su> Pubblica), come illustrato nell'immagine.
ApplicationManifest.xml di esempio nel nuovo design
<?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>
File di esempio StartupServices.xml
<?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>
La funzionalità startupServices.xml è abilitata per tutti i nuovi progetti in SF SDK versione 5.0.516.9590 e successive. I progetti creati con la versione precedente di SDK sono completamente compatibili con l'SDK più recente. La migrazione dei progetti precedenti in una nuova progettazione non è supportata. Se l'utente vuole creare un'applicazione di Service Fabric senza StartupServices.xml nella versione più recente dell'SDK, l'utente deve selezionare il collegamento "Help me choose a project template" (Guida alla scelta di un modello di progetto), come illustrato nell'immagine seguente.
Passaggi successivi
- Informazioni sul modello di applicazione di Service Fabric.
- Informazioni sui manifesti dell'applicazione e del servizio di Service Fabric.