Yuc*_*uck 4 c# wcf iis-7 wcf-data-services
我正在尝试将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" %>
Run Code Online (Sandbox Code Playgroud)
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:此外,Aaa.Bbb.Services.dll
编译并在IIS7 Web应用程序的\ bin目录中.
编辑:按照这里的说明我尝试创建一个实例ZzzEntities
- System.TypeLoadException 时出现以下错误:无法从程序集'Aaa.Bbb.Services,Version = 1.0.0.0,Culture = neutral,PublicKeyToken加载类型'ZzzEntities' = NULL.
使用.NET Reflector我可以清楚地看到Aaa.Bbb.Services.dll包含一个名为的类,ZzzEntities
所以我真的很遗憾为什么我的类型无法创建.
这是命名空间之间的冲突.我正在使用Microsoft WCF Data Services 2011 CTP2,因此我必须将其添加到我的web.config文件中system.web/compilation/assemblies
:
<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" />
Run Code Online (Sandbox Code Playgroud)