Не удалось найти тип служб данных WCF


Я пытаюсь переместить службу данных WCF с хостинга в VS2010 на веб-сервер разработки. Когда я перемещаю код в приложение IIS7, я получаю эту ошибку:

Типа ААА.ГЭБ.Сервисы.ZzzEntities', предоставляемый в качестве значения атрибута Service в директиве ServiceHost или предоставляемый в системе элементов конфигурации.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.ВПВ.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 компилируется и находится в каталоге bin веб-приложения IIS7.

EDIT : следуя инструкциям здесь я получаю следующую ошибку при попытке создать экземпляр ZzzEntities - System.Исключение typeloadexception: не удалось загрузить тип 'ZzzEntities' с ААА сборку.ГЭБ.Услуг, версия=1.0.0.0, культуры=нейтральный, PublicKeyToken=null'.

Используя .NET Reflector, я ясно вижу, что Aaa.ГЭБ.Сервисы.dll содержит класс с именем ZzzEntities, поэтому я действительно теряюсь, почему мой тип не может быть создан.

1 4

1 ответ:

Это был конфликт между пространствами имен. Я использую Microsoft WCF Data Services 2011 CTP2, поэтому мне пришлось добавить это в свой веб.конфигурационный файл в 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" />