2012-05-14 34 views
1

我是Silverlight和CSLA的新手,我需要獲得一個示例項目。我同時擁有Lhotka的2008年CSLA書籍以及隨附的Silverlight電子書+示例項目。如何配置Silverlight + CSLA數據門戶?

我認爲創建一個Silverlight 5 MVVM Light項目非常簡單,該項目通過數據門戶(配置爲使用WCF的數據門戶/通道適配器)獲取CSLA 4.3對象,但不能從CSLA對象返回服務器。

注意:如果我將CSLA排除在外,只使用Linq到SQL或實體框架以及WCF RIA服務調用,我可以從服務器獲取對象並在silverlight中顯示它們,但因爲我無法使用這個項目我必須讓CSLA工作。

我的步驟:

  1. 創建一個Silverlight業務應用程序 - 獲得MyProject的(SL)和MyProject.Web(WCF)
  2. 加到名.web項目

    <服務%@ServiceHost Service =「Csla.Server.Hosts.Silverlight.WcfPortal」%> 。

  3. 引用的服務在我的App.xaml Application_Startup方法在SL項目

    Csla.DataPortalClient.WcfProxy.DefaultUrl = 「HTTP://本地主機:14790 /服務/ MyTestCslaSilverlightWcfService.svc」; 。

  4. 添加了一個簡單CSLA業務層項目(MyProject.CSLA),有一個組測試對象(MyMobileObjItem.cs,MyMobileObjItemList.cs)

  5. 增加了兩個項目(MyProject.CSLA.Client和MyProject的.CSLA.Server)。 .Client項目是一個Silverlight類庫,.Server是一個類庫。然後我鏈接了所有我的CSLA對象(添加現有引用,添加爲鏈接)以及所有必需的引用(csla/csla silverlight dlls)。在MyProject上添加一個引用.Client項目,並在MyProject.Web上添加對.Server項目的引用。

  6. 現在,我應該有一個工作項目,並希望得到一個或多個項目的列表從服務器返回。在我的構造函數的主ViewModel中,我嘗試了兩種不同的東西。當我使用

    MyMobileObjItemList.GetAllAsync(HandleReturnedArgs);

回調方法的EventArgs有一個錯誤「System.IO.FileNotFoundException:未能加載文件或程序‘MyProject.CSLA.Client’我發現這個奇怪的,因爲Silverlight應用程序有這個項目的引用,和MyProject.Web不應該需要.Client參考,因爲它具有.Server參考

當我使用

DataPortal<MyMobileObjItemList> dp = new DataPortal<MyMobileObjItemList>(); 
dp.FetchCompleted += HandleReturnedArgs; 
dp.BeginFetch(); 

回調方法的EventArgs有一個錯誤「System.InvalidOperationException:對象類型或程序集無法加載(MyProject.CSLA .MyMobileObjItemList,MyProject.CSLA.Client「。

我不知道在哪裏這些錯誤的發生是由於它是里昂證券(客戶端或服務器?上)。DataPortalException我認爲這是一個服務器錯誤。

我不知道如何做一個簡單的調用,或者如果這是做事情的正確方式,我可以找到所有的例子,不要這樣做,似乎不清楚。

我知道這是很多件適合在一起,它可能很難簡明地給出答案,但我真的希望得到幫助(代碼,鏈接,下載等例子)

問題:

  1. 是否有一個Silverlight MVVM Light項目的簡單示例,它調用一個遠程數據門戶,該門戶抓取對象以及如何使其工作/如何將所有塊合在一起的文檔?再次,我有Silverlight項目的電子書,但它使用bxf和大多數數據門戶引用這本書剛剛說過要在數據門戶上看到其他電子書(我沒有 - 我會購買它,但該網站需要一個幾天,以允許訪問pdf。真的很差的網站)。或
  2. 有人可以解釋我做錯了什麼嗎?

回答

0

要解決我改變了我的.Client和.Server項目的.CSLA項目完全匹配的裝配和默認命名錯誤錯誤(在項目屬性中設置)

更多信息

this forum discussion