找不到WCF数据服务类型

本文关键字:类型 服务 数据 WCF 找不到 | 更新日期: 2023-09-27 17:58:49

我正在尝试将WCF数据服务从VS2010中托管到开发web服务器。当我将代码移动到IIS7应用程序时,我会得到以下错误:

找不到类型"Aaa.Bbb.Services.ZzzEntities",该类型在ServiceHost指令中作为Service属性值提供,或在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供。

ZzzEntities.svc

<%@ ServiceHost
    Language = "C#"
    Factory = "System.Data.Services.DataServiceHostFactory,
               System.Data.Services, Version=4.0.0.0, Culture=neutral,
               PublicKeyToken=b77a5c561934e089"
    Service = "Aaa.Bbb.Services.ZzzEntities" %>

ZzzEntities.svc.cs

using Aaa.Bbb.Domain.Entities;
using System.Data.Services;
using System.Data.Services.Common;
using System.ServiceModel.Web;
namespace Aaa.Bbb.Services {
    public class ZzzEntities:DataService<Domain.EntityFramework.Context> {
        public static void InitializeService(DataServiceConfiguration config) {
            config.UseVerboseErrors = true;
            config.SetEntitySetAccessRule("*", EntitySetRights.All);
            config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
            config.DataServiceBehavior.MaxProtocolVersion =
                DataServiceProtocolVersion.V3;
        }
    }
}

EDIT:此外,Aaa.Bbb.Services.dll已编译并位于IIS7 web应用程序的''bin目录中。

EDIT:按照此处的说明,在尝试创建ZzzEntities的实例时,我遇到以下错误-System.TypeLoadException:无法从程序集"Aaa.Bbb.Services,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null"加载类型"ZzzEntities"。

使用.NET Reflector,我可以清楚地看到Aaa.Bbb.Services.dll包含一个名为ZzzEntities的类,所以我真的不知道为什么不能创建我的类型。

找不到WCF数据服务类型

这是名称空间之间的冲突。我使用的是Microsoft WCF Data Services 2011 CTP2,所以我不得不将其添加到system.web/compilation/assemblies:中的web.config文件中

<add assembly="Microsoft.Data.Services, Version=4.99.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="Microsoft.Data.Services.Client, Version=4.99.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />