2011-04-26 59 views
1

對於幾天我一直在敲打我的頭撞牆,試圖找出是我與WCF服務和Silverlight有問題。暴露服務引用之間動態WCF與Silverlight的

我的問題是,我有5個,我動態讀取到一個主Silverlight應用程序的Silverlight項目模塊。這些模塊中的每一個都有自己的業務層和DAL,所以它自己調用它的WCF服務,但是當我加載模塊並嘗試運行WCF命令時,我收到一條錯誤消息,說我的ServiceReference不存在,這是因爲服務是模塊「ServiceReference.config」的一部分,而不是主項目服務參考。

是否有我可以動態獲取Master Silverlight項目以獲取ChannelFactory的列表,然後創建通道並讀取所有元數據並完全擺脫Service Refences?你如何避免使用服務引用?

所有的幫助都非常感謝,我想我會對這個瘋了。

感謝

羅比

回答

2

是的,你可以做到這一點。您可以複製生成的文件「Reference.cs」,要做到這一點,您必須:

  1. 顯示項目中的所有文件。
  2. 展開服務參考並查找Reference.cs。

現在你可以複製這個並作爲一個普通的類添加到你的項目中,並刪除你的應用程序的服務引用。對於ChannelFactory,是的,您可以通過此代碼創建:

ChannelFactory<IServiceContract> factory = new ChannelFactory<IServiceContract>(endpoint); 
    IServiceContract channel = factory.CreateChannel(); 
+0

非常感謝您對於@Peyton Crow。這幫助了堆。從來不知道Reference.Cs信息已全部下載到客戶端:) – 2011-04-28 04:23:47

+0

不客氣,那個好! :) – 2011-04-28 05:43:25