我是.NET新手,正在研究實現客戶端/服務器體系結構的選項。如何創建WCF客戶端庫
我跟着MSDN教程創建一個簡單的WFC計算器客戶端和服務器,但我覺得我要產生一些那種第三方可以使用打電話給我服務的簡單的客戶端庫。
我做出決定,我添加自動生成的代理編碼,但發現在app.config仍然需要包含在客戶端應用程序,而不是庫中的類庫項目。
問題
在我的目標設計,我更願意封裝大多數(但不是全部)在app.config數據的內在的東西,該公司生產的客戶端不能碰。 app.config包含了一些我不希望第三方修改的信息,以及一些信息,比如我希望在安裝時可配置的服務的地址(包括端口)。
任何人都可以點我在進一步閱讀,樣品或教程,將幫助我進步我的研究? (我知道我可能甚至試圖做一些合理的!)
背景:我真正想要做
我需要設計一個能夠從.NET 3.5客戶端調用服務。我還不知道什麼技術將用於服務(例如,它可以用Java而不是.NET編寫)或用於客戶端和服務之間通信的協議。在初始部署後,所使用的服務和通信協議的實施也可能需要改變大約一年左右的時間。
但是,我確實知道我想要呈現給客戶端的方法列表以及要用於參數和響應的數據類型。我還需要將一個客戶端界面的版本記錄並提供給一個獨立的公司,他們會在項目早期向我的服務添加對現有.NET客戶端應用程序的調用。所以,我想開發一個客戶端庫,最初將用於連接到服務的臨時測試版本(可以用.NET編寫)以返回模擬響應。客戶端庫的更新版本對於調用客戶端應用程序來說看起來是一樣的,但是連接到真正的服務。
WCF看起來有我需要讓我獨立於服務和連接協議的服務設計客戶端界面的靈活性。但正如我上面所說的,app.config包含了一些我不希望第三方修改的信息和一些信息,比如我希望在安裝時可以配置的服務的地址(包括端口)。
感謝您的回覆,但並不是我想保持信息的祕密。我希望能夠通過重新傳送客戶端庫來更改連接底層中使用的協議,而無需重新構建客戶端可執行文件。至於地址信息,它必須可以作爲配置參數定期更改,而無需重新傳送服務器或客戶端。 – user358795
如果您想使用配置文件進行更改,則可以加密您不希望其他人修改的部分。否則,您可能需要考慮使用數據庫進行設置,或者改變架構以使用模板方法和/或策略設計模式。 – Robert