2012-05-14 31 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