在學習WCF的過程中。服務合同(接口)應該暴露給客戶嗎?
要examplify,可以說我有3個組件:
1)Service.Contract:它有)的界面的MyType IMyInterface的定義(;
2.)服務:它具有接口的MyType爲MyService()的執行情況:IMyInterface的;
3)客戶端:它調用服務。
我的基本問題是應該「Service.Contract」項目被暴露在「客戶」的項目,因爲它需要知道接口的原型。如果是的話,它不違背SOA原則嗎?如果不是,那麼我們如何才能通過終端地址實現對服務的調用?
是的。添加服務引用的竅門。謝謝! – Oshin 2010-10-20 06:41:21
此答案並不完整。向客戶端添加服務引用將簡單地重新創建Service.Contract程序集中定義的類型。 SOA要求您使用契約而不是行爲,並且通過在客戶端添加對Service.Contract程序集的引用,您不會違反該原則。如果您正在構建服務器和客戶端,那麼在共享兩者之間的合同組件時沒有問題。 – 2010-10-20 07:30:42