首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WC数据服务5.6.0 -请求错误

WC数据服务5.6.0 -请求错误
EN

Stack Overflow用户
提问于 2013-11-13 17:51:38
回答 1查看 1.5K关注 0票数 1

我创建了一个空的asp.net项目,下载以下包:

Microsoft.OData.EntityFrameworkProvider -Pre

所以我得到了WCF数据服务5.6.0和对实体框架6.0的支持。所有引用都已成功添加到项目中。

然后,我添加了一个新的ado.net实体模型,并从数据库中只生成一个实体。然后,我使用以下代码添加一个WCF数据服务:

代码语言:javascript
运行
复制
#if DEBUG
    [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
#endif
    public class MyService : DataService<MyContext>
    {
        public static void InitializeService(DataServiceConfiguration config)
        {
        #if DEBUG
            config.UseVerboseErrors = true;
        #endif

            config.SetEntitySetAccessRule("*", EntitySetRights.All);
           config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
        }
    }

但是当我在IE中查看服务时,我得到以下错误:

服务器在处理请求时遇到错误。异常消息是‘'System.Data.Entity.Core.Objects.ObjectContext’类型的表达式不能用于返回类型'System.Data.Objects.ObjectContext'‘。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪为:

在System.Linq.Expressions.Expression.ValidateLambdaArgs(Type类型,Expression和body,在System.Data.Services.Providers.DbContextHelper.CreateDbContextAccessor(Type类型)在System.Data.Services.Providers.DbContextHelper.GetDbContextAccessor(Type类型)在System.Data.Services.DataService1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider& metadataProviderInstance, IDataServiceQueryProvider& queryProviderInstance, Object& dataSourceInstance, Boolean& isInternallyCreatedProvider) at System.Data.Services.DataService1.CreateProvider()在System.Data.Services.DataService1.HandleRequest() at System.Data.Services.DataService1.ProcessRequestForMessage(Stream messageBody)在System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object实例在SyncInvokeProcessRequestForMessage(Object,Object[],Object[] ),Object[]输入,在System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& ProcessMessage11(MessageRpc& rpc)

我还漏掉了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-13 17:55:51

问题解决了。用户必须在服务中添加以下内容:

代码语言:javascript
运行
复制
using System.Data.Services.Providers;

并将基类更改为:

代码语言:javascript
运行
复制
public class MyService : EntityFrameworkDataService<MyContext>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19950537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档