1

我有一个 WCF RIA 项目通过实体框架从 SQL Server 2008 获取我的数据。一切进行得都很顺利。但是,我想通过 windows mobile 访问数据,所以据我所知,我必须创建一个 ADO.NET 数据服务。我的域服务称为 BusinessLogicDomainService.cs。在创建相应的 BusinessObjectsDataService 之后,我立即写了这个:

public class BusinessObjectsDataService : DataService<BusinessObjectsDomainService>
{        
    public static void InitializeService(DataServiceConfiguration config)
    {
        config.SetEntitySetAccessRule("*", EntitySetRights.All);
        config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
    }    
}

但是,当我通过浏览器访问 svc 时,我得到的唯一东西

 <?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
- <service xml:base="http://localhost:9589/BusinessObjectsDataService.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
- <workspace>
  <atom:title>Default</atom:title> 
  </workspace>
  </service>

您对如何以宁静的方式发布数据有任何想法吗?我对 ADO.NET 数据服务做错了吗?我不知何故觉得使用 WCF Ria 我已经有了一个宁静的 api,但我怎样才能发现它呢?

谢谢!

编辑:我在 msdn 上三重检查了先决条件。Msdn 说“DataService<(Of <(T>)>) 的类型必须公开至少一个属性,该属性返回一个实体集,该实体集是 IQueryable<(Of <(T>)>) 实体类型的集合。这个类还必须实现 IUpdatable 接口,以便对实体资源进行更新。”。我的业务域服务的一个片段如下图所示,它有 IQuerable 功能:

替代文字 http://i23.photobucket.com/albums/b352/grnemo/Untitled-15.png

编辑 2:据此,我发现我正在寻找有关如何使 RIA 服务可发现的解决方案。

4

1 回答 1

1

使用最新的 RIA 服务,DomainService 是 WCF 服务。仅使用 Windows Mobile 中的 WCF 服务对您有用吗?请参阅:http: //blogs.msdn.com/brada/archive/2009/11/22/ria-services-a-domainservice-is-a-wcf-service-add-service-reference.aspx

于 2010-02-01T02:33:36.030 回答