1

我已经构建了我的 Lightswitch 应用程序以使用 WCF RIA 服务数据源。我能够引用我的 RIA 服务项目,并导入数据类型。但是,对服务的任何调用都会导致“无法在服务上找到查询操作 [操作名称]”。

真正可怕的是,我没有在搜索引擎中找到这个错误的命中 - 所以我一定做错了什么。

方法签名如下所示:

public IQueryable<md_SKURevMngtRRPPhantom> GetRRPPhantoms(string site, string category, long? segment, DateTime? entryDate){
//implementation here
}

我使用 Fiddler 来查看对服务的调用......它看起来像这样:

http://localhost:26132/RevMngtDomainServiceData.svc/GetRRPPhantoms()?site='610'&category='B'&segment=5L&entryDate=datetime'2013-07-04T00:00:00'

即使是对默认服务方法的无参数请求也会返回相同的错误。这个默认请求定义如下:

[Query(IsDefault = true)]
public IQueryable<md_SKURevMngtRRPPhantom> GetAllRRPPhantoms(){
///implementation here...
}

我的 Lightswitch 项目如何正确地将 WCF RIA 服务作为数据源导入,但对同一服务的调用返回“在服务上找不到查询操作 [操作名称]。”?

4

1 回答 1

1

事实证明我确实做错了什么......我返回的 md_SKURevMngtRRPPhantom 对象是 Lightswitch 项目的 DataSource 中定义的一个对象,我通过在我的 DomainService 项目中创建它的部分类来添加一个属性。看来这是个坏主意。

我更改了 DomainService 项目以返回一个新定义的类而不是 md_SKURevMngtRRPPhantom 类,并且一切正常。

于 2013-07-05T08:22:16.470 回答