Silverlight 4.0 从Silverlight访问业务对象方法

Silverlight 4.0 从Silverlight访问业务对象方法,silverlight-4.0,ria,domainservices,Silverlight 4.0,Ria,Domainservices,我刚接触Sliverlight和RIA服务,遇到了一些麻烦 我有一个Silverlight应用程序,它需要访问我们的DAL以获得自定义对象来填充UI。我设置了RIA服务。在我的web应用程序中,我添加了一个DomainService,它调用DAL服务来获取数据 我有一个单独的项目,其中包含我们的业务对象,DomainService将返回这些对象的列表。在业务对象中,我将Key属性添加到ID属性中 一切正常。我可以调用服务,我可以得到对象列表。我可以在我的Silverlight应用程序中看到它们,

我刚接触Sliverlight和RIA服务,遇到了一些麻烦

我有一个Silverlight应用程序,它需要访问我们的DAL以获得自定义对象来填充UI。我设置了RIA服务。在我的web应用程序中,我添加了一个DomainService,它调用DAL服务来获取数据

我有一个单独的项目,其中包含我们的业务对象,DomainService将返回这些对象的列表。在业务对象中,我将Key属性添加到ID属性中

一切正常。我可以调用服务,我可以得到对象列表。我可以在我的Silverlight应用程序中看到它们,我可以看到我的对象的所有属性

我唯一搞不清楚的是如何访问这些方法。我的业务对象中有一些方法需要在Silverlight应用程序中访问,但它看起来并不像是公开的方法

有没有办法从类中访问这些方法?或者我必须在DomainService对象中编写一个包装器来为我调用这个方法吗?我宁愿第一个真的


任何帮助都将不胜感激。这已经阻碍太久了

听起来你很接近了

从您描述的方式来看,业务对象类似乎没有实例化。您需要将“存根”方法放入允许Silverlight在业务对象上使用方法的web项目(DomainService)中

在您的DomainService类中:

using System.ServiceModel.DomainServices.Hosting; 
using System.ServiceModel.DomainServices.Server; 
using XYX.YourBusinessClassLibrary;  <-- need reference in web app

[EnableClientAccess()] 
public class linkdirectoryDS : DomainService 
{

    public IEnumerable<Category> GetCategories() 
    { 
        Category cat = new Category(); 
        return cat.Retrieve(); 
    } 
} 
使用System.ServiceModel.DomainServices.Hosting;
使用System.ServiceModel.DomainServices.Server;

使用XYX.YourBusinessClassLibrary;是的,这就是我希望我不必这么做的方式。周末我又读了一些书,一切似乎都指向了这个方向。谢谢你的帮助:)