c# - 找不到 WCF 数据服务类型

标签 c# wcf iis-7 wcf-data-services

我正在尝试将 WCF 数据服务从托管在 VS2010 中的移动到开发 Web 服务器。当我将代码移至 IIS7 应用程序时,出现此错误:

找不到类型“Aaa.Bbb.Services.ZzzEntities”,作为 ServiceHost 指令中的服务属性值提供,或在配置元素 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;
        }
    }
}

编辑:此外,Aaa.Bbb.Services.dll 已编译并位于 IIS7 网络应用程序的\bin 目录中。

编辑:按照说明 here尝试创建 ZzzEntities 的实例时出现以下错误 - System.TypeLoadException:无法从程序集“Aaa.Bbb.Services,Version=1.0.0.0,Culture=neutral”加载类型“ZzzEntities” , PublicKeyToken=null'。

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

最佳答案

这是 namespace 之间的冲突。我正在使用 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" />

关于c# - 找不到 WCF 数据服务类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6311355/

相关文章:

c# - 有没有一种方法可以使用对象的形状而不是继承来对通用函数参数进行类型检查?

c# - 具有弯曲斜边的多边形三角形

asp.net - 如何在 IIS 中启用字节范围的 http 请求

c# - System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 拒绝访问

c# - DateTime.ParseExact 没有按照我的意愿去做

c# - 我应该如何构建我的应用程序以支持移动应用程序

c# - "Multiple filters matched."在 WCF 中对多个终结点使用相同的地址

c# - 基于查询参数的 WCF REST 服务 url 路由

c# - IIS7.5 WCF 服务 - HTTP 错误 401.3(即使在添加 IIS_IUSRS 之后)

c# - 具有领域驱动设计的存储库模式会成为反模式吗?