Wcf silverlight域服务don';不允许返回泛型对象

Wcf silverlight域服务don';不允许返回泛型对象,wcf,silverlight,generics,ria,domainservices,Wcf,Silverlight,Generics,Ria,Domainservices,我有一个平稳运行的域服务,一些公开函数返回已定义实体的通用列表,但由于某些原因,我添加了一些公共信息,因此我创建了一个通用对象,用我需要返回的额外信息包装集合 但是,在做了更改并尝试在客户端中使用该服务后,该函数不会显示在上下文中,我已经搜索了它,找到的是泛型IQueryable的属性 我的包裹课 public class Wrap<T> { public String commonProperty { get; set; } public String another

我有一个平稳运行的域服务,一些公开函数返回已定义实体的通用列表,但由于某些原因,我添加了一些公共信息,因此我创建了一个通用对象,用我需要返回的额外信息包装集合

但是,在做了更改并尝试在客户端中使用该服务后,该函数不会显示在上下文中,我已经搜索了它,找到的是泛型IQueryable的属性

我的包裹课

public class Wrap<T>
{

   public String commonProperty { get; set; }
   public String anotherCommonProperty { get; set; }
   public List<T> items { get; set; }

}
公共类包装
{
公共字符串commonProperty{get;set;}
公共字符串另一个公共属性{get;set;}
公共列表项{get;set;}
}
在我的服务域中

public Wrap<SomeClass> GetAll()
{

  Wrap<SomeClass> myObject = new Wrap<SomeClass>();
  myObject.items = new List<SomeClass>();
  myObject.commonProperty = "some info";
  myObject.anotherCommonProperty = "some info";
  return myObject;

}
public Wrap GetAll()
{
Wrap myObject=新的Wrap();
myObject.items=新列表();
myObject.commonProperty=“一些信息”;
myObject.anotherCommonProperty=“一些信息”;
返回myObject;
}

可能在
Wrap
类中添加
[KnownType(typeof(SomeClass))]
属性,问题是您需要为域中的每个类都包含一个
KnownType
属性(这是因为您正在创建一个多态服务)


并在服务的
GetAll
方法中添加
[ServiceKnownType(typeof(SomeClass))]
(这是针对wcf服务的,我不知道是否对域服务有效).

WCF RIA域服务不支持通用实体类型。
IEnumerable
IQueryable
是特例

您的方法被忽略,因为它不匹配。 在更改之前,
GetAll
被识别为查询方法。您可以通过添加属性强制执行该操作

[Query]
public Wrap<SomeClass> GetAll()
[查询]
公共包装GetAll()
现在它并没有悄然消失。但会生成编译时错误:

类型“Wrap`1”不是有效的实体类型。实体类型不能为空 通用的