我有一個WCF服務和客戶端DLL,它具有我的WCF服務的代理類。我的客戶端DLL將由另一個exe運行。我有限制將我的客戶端app.config文件添加到exe位置。我不能這樣做myExe.exe.config。我想在客戶端DLL本身加載客戶端app.config文件,或者應該從不同位置加載app.config文件。如何爲DLL加載客戶端app.config文件
而我的exe是C++。
有沒有辦法做到這一點?
我有一個WCF服務和客戶端DLL,它具有我的WCF服務的代理類。我的客戶端DLL將由另一個exe運行。我有限制將我的客戶端app.config文件添加到exe位置。我不能這樣做myExe.exe.config。我想在客戶端DLL本身加載客戶端app.config文件,或者應該從不同位置加載app.config文件。如何爲DLL加載客戶端app.config文件
而我的exe是C++。
有沒有辦法做到這一點?
要明確加載特定配置,您需要在單獨的AppDomain中啓動對象。使用一個AppDomain.CreateDomain重載,它接受一個AppDomainSetup,您可以在其中將路徑傳遞給配置文件。 Yout需要確保任何返回值可以跨AppDomain邊界進行編組。不,沒有一個更簡單的方法來做到這一點,我知道。
這實際上是一個標準的問題與.NET。一般來說,當你創建一個單獨的項目將被構建到一個DLL中時,你可以在一個app.config文件中創建設置。這些設置不會自動成爲使用DLL的應用程序的web.config的一部分。
「解決方案」一直是:從您的庫的app.config中複製並粘貼並粘貼到使用應用程序的app.config或web.config中。
這實際上會產生一定的意義:這些配置設置旨在根據執行代碼的環境進行更改。存儲在單個位置的一組WCF客戶端配置使我們回到了註冊表的日子。