【发布时间】:2010-01-30 22:07:23
【问题描述】:
我有一个 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)>) 的类型必须公开至少一个属性,该属性返回一个实体集,该实体集是 IQueryable)>) 实体类型的集合。这个类还必须实现 IUpdatable 接口,以便对实体资源进行更新。”。我的业务域服务的一个片段如下图所示,它具有IQerable功能:
alt text http://i23.photobucket.com/albums/b352/grnemo/Untitled-15.png
编辑 2:来自 this 我发现我正在寻找一个解决方案,让 RIA 服务可被发现。
【问题讨论】:
-
该服务不可发现,但是您可以通过以下方式访问它,具体取决于您的命名空间(将点替换为 -)。
.svc 但是,正如预期的那样,这是一个 SOAP 服务。不是一种使用 Restful 等价物的方法吗?
标签: wcf ria wcf-data-services