Azure Service Fabric Reliable Actorの実装に取り組んでいます。構成値(DB接続文字列など)をどこに保存できるか、コードでそれにアクセスする方法に関するアイデア/リンク。
Service Fabricアプリケーションは、コードパッケージ、構成パッケージ、およびデータで構成されます( https://Azure.Microsoft.com/en-gb/documentation/articles/service-fabric-application-model/ =)。
Configパッケージを使用して、必要なあらゆる種類のキーと値のペアを保存および取得できます。接続文字列。詳細については、この記事を参照してください https://Azure.Microsoft.com/en-us/documentation/articles/service-fabric-manage-multiple-environment-app-configuration/ 。
複数のApplicationParametersファイルを追加できます。 Cloud.Xmlから同じものをコピーして貼り付け、複数の環境設定に使用するだけです。
必要な変更を加える手順
Settings.xmlで指定された値は、ServiceManifest.xmlをインポートするときにApplicationManifest.xmlでオーバーライドする必要があります。以下は、オーバーライドする変更をサポートするコードで、ApplicationManifest.xmlに値を追加します。
a)パラメータのデフォルト値を最初に追加します
<Parameters>
<Parameter Name="StatelessService1_InstanceCount" DefaultValue="-1" />
<!-- Default Value is set to Point to Dev Database -->
<Parameter Name="DatabaseString"DefaultValue="Server=someserver.database.windows.net\;Database=DbDev;user id=[userid];password=[Password];Trusted_Connection=false;" />
</Parameters>
b)次に、ServiceManifestImportでオーバーライドします。
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="StatelessServicePkg"
ServiceManifestVersion="1.0.0" />
<ConfigOverrides>
<ConfigOverride Name="Config">
<Settings>
<Section Name="DatabaseConnections">
<Parameter Name="DbString" Value="[DatabaseString]" />
</Section>
</Settings>
</ConfigOverride>
</ConfigOverrides>
</ServiceManifestImport>
上記のコード変更は、settings.xml内の次のコードをオーバーライドします
<Section Name="DatabaseConnections">
<Parameter Name="DbString" Value="Server=someserver.database.windows.net\;Database=DbDev;user id=[userid];password=[Password];Trusted_Connection=false;" />
</Section>
全体として、アプリケーションがデプロイされると、ApplicationParameter DevParam.xml、QaParam.xml、またはProdParam.xmlの値がすべての設定値を上書きします。
<Parameters>
<Parameter Name="StatelessService1_InstanceCount" Value="-1" />
<Parameter Name="DatabaseString" Value="Server=someserverqa.database.windows.net\;Database=DbQA;user id=[userid];password=[Password];Trusted_Connection=false;" />
</Parameters>
上記の情報に加えて、ASFがアプリケーション設定をオーバーライドする順序を知ることが重要です。
Service Fabricは常に最初に(指定されている場合)アプリケーションパラメーターファイル、次にアプリケーションマニフェスト、最後に構成パッケージ( source )から選択します
詳細情報: http://www.binaryradix.com/2016/10/reading-from-configuration-within-Azure.html