簡體   English   中英

從具有web.config的服務調用DLL時如何讀取DLL自己的app.config?

[英]How to read DLL's own app.config when it's called from a service that has a web.config?

我有一個調用DLL的WCF服務。 該服務具有一個web.config,而DLL具有一個app.config。 由於這個問題 ,我已經編寫了一個自定義應用程序配置部分。 但是,在DLL中,當我調用ConfigurationManager.GetSection("...")它將嘗試從服務的web.config中讀取。

如何設置它,以便DLL從其app.config中讀取,而該服務從其web.config中讀取?

編輯:似乎當我調試服務時,我的DLL被復制到一個奇怪的臨時文件夾(C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ Temporary ASP.NET Files \\ root \\ f4d2cdd1 \\ a59eb1c1 \\ assembly \\ dl3 \\ 7c7f438f \\ b42518b4_f8f2cf01),但我的DLL的配置卻沒有。 如果手動將配置復制到那里,則可以使用OpenMappedExeConfiguration進行讀取。 即使存在app.config,對ConfigurationManager的常規調用也會繼續讀取web.config。

我無法將配置設置從app.config移到web.config,因為此DLL在WCF服務和REST服務之間共享。 我希望它們進入一個為兩者提供核心功能的DLL。 DLL應該讀取它自己的配置文件,而不要讀取任何一個web.configs,這樣一來,一個服務就不可能獲得與另一個服務不同的值。

如果調用源自Web服務或運行於Web服務器之外的任何內容(例如IIS),則它將僅從web.config中讀取。 如果您正在運行控制台應用程序或任何不在Web服務器上運行的應用程序,則將使用app.config。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM