我有一个 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 服务可发现的解决方案。