Почему у меня проблемы с EF5 с приложением службы WCF?
Я создал службы данных EF раньше, но я получаю это сообщение каждый раз, когда пытаюсь создать приложение службы EF5 - WCF.
Операция ProcessRequestForMessage не может быть загружена, поскольку она имеет параметр или тип возврата типа System.ServiceModel.Channels.Message или тип, имеющий MessageContractAttribute и другие параметры различных типов. При использовании System.ServiceModel.Channels.Message или типов с MessageContractAttribute метод не должен использовать какие-либо другие типы параметров.
- Я создаю приложение службы WCF,
- добавить ссылки System.Data.Services
- Создать модель EF
- Изменил стратегию генерации кода на "По умолчанию" и удалил ".tt"
- Унаследовать Data Service
на мой класс обслуживания (Service1) - Добавьте требуемую подпрограмму "InitilizeService"
- Без изменений в web.config
Когда я пытаюсь отладить, я получаю сообщение. Я использую VS2012
Это было некоторое время назад, так как я использовал Data Services, но, глядя на мой старый проект VS2010, который работает, я изменил web.config, чтобы включить службу с конечной точкой с "System.Data.Services.IRequestHandler" в качестве контракта.
Я также попробовал это снова, а также изменил привязку на "webHttpBinding", который, похоже, тоже не работал. Есть идеи?
Если все остальное терпит неудачу, я думаю, что я могу использовать Open Access ORM со встроенными инструментами генерации сервисов, потому что я могу по крайней мере заставить это работать.
С уважением
Крис Лич
3 ответа
Добавить: Factory="System.Data.Services.DataServiceHostFactory, Microsoft.Data.Services, версия =5.0.0.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35"
У меня была та же ошибка, но я заметил, что атрибут "Factory" отсутствует в моем файле разметки хоста службы. Итак, нажмите на свой файл Data Service и выберите "View Markup" и проверьте, есть ли атрибут Factory и он правильный:
До:
<%@ ServiceHost Language="C#" Debug="true"
Service="ServiceNamespace.ServiceClassName"
CodeBehind="ServiceClassName.svc.cs" %>
После:
<%@ ServiceHost Language="C#" Debug="true"
Service="ServiceNamespace.ServiceClassName"
Factory="System.ServiceModel.Activation.WebServiceHostFactory, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
CodeBehind="ServiceClassName.svc.cs" %>
Не понял этого напрямую, однако я скачал демонстрационный проект с этого сайта http://code.msdn.microsoft.com/windowsdesktop/WCF-Data-50-for-OData-v3-53074189 и изменил службу данных, затем Voala, Нет больше ошибок
Надеюсь, что это помогает другим
Приветствия за попытку парней.