簡體   English   中英

用於配置WCF的web.config和app.config文件的替代方法

[英]Alternative to web.config and app.config files for configuring WCF

我有一個企業應用程序,包括ASP.NET Web應用程序和Windows服務。 這有許多“可插拔”連接器進入使用WCF(作為客戶端和/或服務器)的其他系統。 在啟動過程中,必須將可插拔連接器加載到Web應用程序和服務中。

如果我使用標准的WCF配置機制,我需要將所有連接器的WCF配置合並在一起,然后將其放入web.config和service.exe.config中。

理想情況下,我希望將每個連接器的WCF配置作為該連接器自己的配置文件的一部分,因此在啟動時加載每個連接器時,將執行該連接器的WCF配置。 這看起來更模塊化/ OO方法,因為一個連接器的所有配置在一個地方組合在一起並與其他配置分開

我意識到我可以通過使用完全編程配置來實現這一點,但我真正想做的是能夠通過將配置部分作為文本或DOM樹傳遞來在運行時配置WCF。

有沒有辦法實現這個目標? 我目前正在使用.Net 3.5,但也對4.5感興趣,因為我們很快就會轉向它。

提前致謝

我沒有看到任何可以訪問基本ServiceHost從外部源加載配置配置部分的選項。

並且我無法看到您可以在運行時更新或替換系統配置(另外,在Web應用程序中更改配置沒有意義)。

您最好的選擇是構建一個代表您不同配置選項的類,例如哪種綁定和哪種安全性等。 然后,您可以使用序列化過程將該類保存到xml文件中。 當連接器加載時,您獲取關聯的xml並對其進行反序列化並使用純代碼構建服務主機/客戶端通道,應該相當容易。

請參閱自定義服務主機

而對於客戶端,只需使用ChannelFactory即可。

最糟糕的選擇是使用System.ServiceModel.dll中的OutOfTheBox元素類,並自己實現一半的WCF庫。

暫無
暫無

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

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