簡體   English   中英

如何在生產中配置WCF客戶端?

[英]How do you configure a WCF client in production?

WCF和配置上有許多可用的資源(程序化和通過app.config)。 但是,我沒有看到關於此配置的實際管理的良好資源,特別是在生產環境中。

WCF功能強大,因為框架允許通過app.config文件進行配置,因此您可以調整各種設置,而無需重新編譯代碼。

安裝WCF客戶端時,如何輕松配置客戶端以指向正確的服務器? 這可能是我在安裝后可以考慮配置的最常見的事情。 對於某些上下文,假設我發運的產品包含服務器組件和客戶端組件。 客戶可以在任何地方安裝。 雖然xml文件對於開發后配置非常強大,但它根本不是用戶友好的。 鑒於配置文件中可能有幾十個端點,管理員或最終用戶是否必須手動更改所有端點? 我知道我可以通過編程方式完成所有工作,但后來我基本上正在重新實現所有開箱即用的管道。

上面的問題,更通用的是:如何通過一些基本UI簡化WCF配置,而無需重新實現框架提供的內容?

如果您想要用戶友好的安裝,您將使用一些安裝程序 ,您只需設置一些配置值。 檢查作為Visual Studio的一部分提供的安裝程序項目或更強大(更復雜)的WiX 如果您沒有安裝程序,則您已選擇用戶應手動配置所有內容。

如果您唯一的問題是服務地址,並且您計划將服務和客戶端部署到單個LAN,則還可以添加WS-Discovery( 在WCF 4中可用 ),客戶端可以在該網絡上查找服務。

如果您希望擁有/制作一個很好的用戶界面來編輯這些設置,那么該用戶界面中的用戶輸入需要保存在某個地方,您必須在客戶端上創建服務調用或在服務器上設置托管服務時使用它。服務器。 我個人會存儲在數據庫中,並將使用它們以編碼方式配置runtine的WCF端點。

這也有一些優點,所有備份都支持db備份,遠程連接和檢查,沒有覆蓋更新文件的風險等等。

如果您的設置/應用程序沒有數據庫,那么配置文件也可以,這可能是唯一的方法,無論如何我都不會在注冊表中保存任何內容。

您可以使用設置框架來存儲端點地址。 您可以輕松閱讀和保存設置,它們將存儲在%APPDATA%位置,因此您無需擔心權限。 您只需要一個小配置UI,用戶可以在其中輸入服務器名稱。 通過向服務器添加簡單的Hello服務來驗證該配置,並嘗試在該UI中訪問該服務。 因此,如果服務器地址正確,您可以立即向用戶提供反饋。

另一種選擇是實現發現協議。 一個相關的問題在這里

暫無
暫無

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

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