Jak sparametryzować pliki konfiguracji w usłudze Service Fabric
W tym artykule pokazano, jak sparametryzować plik konfiguracji w usłudze Service Fabric. Jeśli nie znasz już podstawowych pojęć związanych z zarządzaniem aplikacjami dla wielu środowisk, przeczytaj artykuł Zarządzanie aplikacjami dla wielu środowisk.
Procedura parametryzacji plików konfiguracji
W tym przykładzie zastąpisz wartość konfiguracji przy użyciu parametrów we wdrożeniu aplikacji.
<Otwórz plik\PackageRoot\Config\Settings.xmlMyService> w projekcie usługi.
Ustaw nazwę i wartość parametru konfiguracji, na przykład rozmiar pamięci podręcznej równy 25, dodając następujący kod XML:
<Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="25" /> </Section>
Zapisz i zamknij plik.
<Otwórz plik\ApplicationPackageRoot\ApplicationManifest.xmlMyApplication>.
W pliku ApplicationManifest.xml zadeklaruj parametr i wartość domyślną w elemecie
Parameters
. Zaleca się, aby nazwa parametru zawierała nazwę usługi (na przykład "MyService").<Parameters> <Parameter Name="MyService_CacheSize" DefaultValue="80" /> </Parameters>
ServiceManifestImport
W sekcji pliku ApplicationManifest.xml dodaj elementConfigOverrides
iConfigOverride
, odwołując się do pakietu konfiguracji, sekcji i parametru.<ConfigOverrides> <ConfigOverride Name="Config"> <Settings> <Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="[MyService_CacheSize]" /> </Section> </Settings> </ConfigOverride> </ConfigOverrides>
Uwaga
W przypadku dodania ConfigOverride usługa Service Fabric zawsze wybiera parametry aplikacji lub wartość domyślną określoną w manifeście aplikacji.
Uzyskiwanie dostępu do sparametryzowanych konfiguracji w kodzie
Możesz uzyskać dostęp do konfiguracji w pliku settings.xml programowo. Weźmy na przykład następujący plik XML konfiguracji:
<Settings
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">
<!-- Add your custom configuration sections and parameters here -->
<Section Name="MyConfigSection">
<Parameter Name="MyParameter" Value="Value1" />
</Section>
</Settings>
Użyj następującego kodu, aby uzyskać dostęp do parametrów:
CodePackageActivationContext context = FabricRuntime.GetActivationContext();
var configSettings = context.GetConfigurationPackageObject("Config").Settings;
var data = configSettings.Sections["MyConfigSection"];
foreach (var parameter in data.Parameters)
{
ServiceEventSource.Current.ServiceMessage(this.Context, "Working-{0} - {1}", parameter.Name, parameter.Value);
}
W tym miejscu Parameter.Name
będzie wartość MyParameter i Parameter.Value
będzie to Wartość1
Następne kroki
Aby uzyskać informacje o innych funkcjach zarządzania aplikacjami, które są dostępne w programie Visual Studio, zobacz Zarządzanie aplikacjami usługi Service Fabric w programie Visual Studio.