【问题标题】:Empty svc file using WCF Ria Services and ADO .NET Data Services使用 WCF Ria 服务和 ADO .NET 数据服务的空 svc 文件
【发布时间】: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


【解决方案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

【讨论】:

  • 这是一个带有 SOAP 消息的 WCF 服务。难道不是一种重用我的域服务来提供restful api的方法吗?
猜你喜欢
  • 2011-04-22
  • 2012-01-14
  • 2011-03-02
  • 2011-01-29
  • 2011-07-14
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多