C# 找不到WCF数据服务类型
我正在尝试将一个WCF数据服务从VS2010中托管到一个开发web服务器。当我将代码移动到IIS7应用程序时,会出现以下错误: 找不到在ServiceHost指令中作为服务属性值提供的或在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供的类型“Aaa.Bbb.Services.zzZenities” zzzenties.svcC# 找不到WCF数据服务类型,c#,wcf,iis-7,wcf-data-services,C#,Wcf,Iis 7,Wcf Data Services,我正在尝试将一个WCF数据服务从VS2010中托管到一个开发web服务器。当我将代码移动到IIS7应用程序时,会出现以下错误: 找不到在ServiceHost指令中作为服务属性值提供的或在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供的类型“Aaa.Bbb.Services.zzZenities” zzzenties.svc <%@ ServiceHost Language = "C#"
<%@ 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" %>
zzzenties.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.Domain.Entities;
使用系统、数据、服务;
使用System.Data.Services.Common;
使用System.ServiceModel.Web;
命名空间Aaa.Bbb.Services{
公共类ZZZenities:数据服务{
公共静态void InitializeService(DataServiceConfiguration配置){
config.UseVerboseErrors=true;
config.SetEntitySetAccessRule(“*”,EntitySetRights.All);
config.SetServiceOperationAccessRule(“*”,ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion=
DataServiceProtocolVersion.V3;
}
}
}
编辑:此外,Aaa.Bbb.Services.dll
被编译并位于IIS7 web应用程序的\bin目录中
编辑:按照说明,在尝试创建zzzenties
-System.TypeLoadException的实例时,我遇到以下错误:无法从程序集“Aaa.Bbb.Services,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”加载类型“zzzenties”
使用.NET Reflector,我可以清楚地看到Aaa.Bbb.Services.dll包含一个名为
zzzenties
的类,因此我真的不明白为什么不能创建我的类型。这是名称空间之间的冲突。我正在使用,所以我必须将其添加到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" />