0

我有一個第三方庫,它從app.config加載配置 現在我想通過Azure服務結構對其進行配置 使用標準settings.xml需要很多工作。 相反,我希望只需將舊的app.config複製到SF Config文件夾並從那裏加載配置。服務結構舊式設置

基本上我唯一不知道的是如何知道在SF中運行時Config/*內容的路徑。 我可以得到Context.CodePackageActivationContext.WorkDirectory 然而,然後從該路徑被 .. \ MyClass.ServicePkg.Config.1.0.0 \的app.config

有沒有我可以以某種方式在上下文查詢路徑獲取配置文件夾的完整路徑?

回答

1

是的,你可以得到的絕對路徑,將代碼和配置包,替代你的軟件包的名稱(「守則」和「配置」是在Visual Studio項目模板默認名稱):

string codePackagePath = this.Context.CodePackageActivationContext.GetCodePackageObject("Code").Path; 
string configPackagePath = this.Context.CodePackageActivationContext.GetConfigurationPackageObject("Config").Path; 

服務包裝上的一些背景信息here。服務由「代碼」包(可執行文件和DLL)和「配置」包(任何任意配置文件或內置的Settings.xml)組成。軟件包可以彼此獨立版本化和升級。您可以在Service Fabric Explorer中的應用程序類型的「詳細信息」選項卡中看到這一點(請注意「名稱」字段 - 您可以使用任何您想要的名稱,並且這是您放入GetCodePackageObject()中的名稱)。

enter image description here

+0

完美。感謝名單! –