【发布时间】:2014-02-04 16:28:39
【问题描述】:
我的 WCF 数据服务中有一个方法,我想返回一个复杂类型。我为复杂类型创建了一个单独的类,并在查询中选择了新的。当我执行程序时,它会引发“请求错误”。
你能帮我解决这个问题吗?
[WebGet]
public List<KeywordsForPKs> GetDomainObjForPKs()
{
var keys = from key in this.CurrentDataSource.DS_Keyword
select new KeywordsForPKs()
{
PK = key.pk,
AccountFK = key.accountFK,
ProjectFK = key.projectFK,
KeywordExpr = key.keywordExpr,
weight = key.weight,
IsNotBolded = key.isNotBolded,
IsAbstractKeyword = key.isAbstractKeyword,
IsBoldedInText = key.isBoldedInText,
};
return keys.ToList();
}
当我调试时,我收到请求错误说
“异常消息是'无法加载返回类型'System.Collections.Generic.List1[DataServices.KeywordsForPKs]' of method 'System.Collections.Generic.List1[DataServices.KeywordsForPKs] GetDomainObjForPKs()'的元数据。'。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪是:
在 System.Data.Services.Providers.BaseServiceProvider.AddServiceOperation(MethodInfo method, String protocolMethod) 在 System.Data.Services.Providers.BaseServiceProvider.AddOperationsFromType(Type type) 在 System.Data.Services.DataService1.CreateProvider() at System.Data.Services.DataService1 .HandleRequest() 在 System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody) 在 SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) 在 System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[]输入、对象 [] 和输出)在 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) 在 Syste m.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime。 System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) 处的 ProcessMessage1(MessageRpc& rpc)"
【问题讨论】: