說我有如下的界面,我想我的服務器(一個普通的web服務)和我的客戶(一個Silverlight 2.0的應用程序)之間共享:共享服務接口,並在Silverlight模型中,使用WCF
public interface ICustomerService
{
Customer GetCustomer(string name);
}
我的Web服務實現了這個接口,並引用Customer
類型定義類庫。
通常,如果你想消費從WCF客戶端這個服務,說WinForms應用程序,你可以分享你的模型組裝和服務合同的接口。然後,通過使用ChannelFactory
,您可以動態地創建一個實現你的服務接口的代理。就像:
ICustomerService myService = new ChannelFactory<ICustomerService>(myBinding, myEndpoint);
Customer customer = myService.GetCustomer("romain");
我基本上想做同樣的事情,但從一個Silverlight 2.0應用程序。銀光ChannelFactory
似乎並不像其他人一樣...
你知道這是否可能嗎?
注意:由於Silverlight應用程序只能是指Silverlight的項目,我有:MyModel.dll的
兩個版本包含Customer
類型:
- 一個編譯靶向.NET Framework 3.5的,引用通過我的網絡服務項目
- 另一個編譯的目標Silverlight 2.0框架,引用我的Silverlight應用程序
MyServicesContracts.dll的兩個版本包含ICustomerService
接口:
- 一個編譯靶向.NET Framework 3.5的,我的網絡服務項目
- 引用另一個編譯靶向Silverlight的2.0框架,通過我的Silverlight應用程序 引用