Использование WebServiceHost2Factory - PullRequest
0 голосов
/ 25 августа 2011

Какая польза от "WebServiceHost2Factory". Я создаю сервис Rest Wcf. Я использую VS2010, так что мне нужно установить WCF Rest Starter Kit ?? Когда я добавил WebServiceHost2Factory в мою разметку службы, я получаю сообщение об ошибке «Не удалось загрузить тип CLR« Microsoft.ServiceModel.Web.WebServiceHost2Factory »во время компиляции службы». Что мне здесь не хватает. вот моя наценка за обслуживание.

<%@ ServiceHost Language="C#" Debug="true" Service="WCFRESTService1.Service1" CodeBehind="Service1.svc.cs" Factory = "Microsoft.ServiceModel.Web.WebServiceHost2Factory"  %>

Любая помощь будет оценена.

1 Ответ

1 голос
/ 25 августа 2011

Используйте WebServiceHost2Factory и WebProtocolException для обработки ошибок

Большая часть построения API обеспечивает адекватную обработку ошибок, чтобы помочь пользователю реализовать ваш API.Вплоть до выпуска WebServiceHost2Factory возвращение соответствующего HTTP-кода ответа и сообщения было рутиной.К счастью для нас, мы можем быстро и легко достичь этой цели, используя классы WebServiceHost2Factory и WebProtocoException.

Приведенный выше текст взят из следующей ссылки

Ниже приведена справка по устранению неполадоквашу проблему можно найти по следующей ссылке .

Ошибка синтаксического анализатора: тип службы не может быть загружен во время компиляции

Вы можете получить следующее сообщение об ошибке при навигации поСлужба WCF (файл .svc) из браузера:

Не удалось загрузить тип CLR «XXXX» во время компиляции службы.Убедитесь, что этот тип определен либо в исходном файле, расположенном в каталоге приложения \ App_Code, либо в скомпилированной сборке, расположенной в каталоге приложения \ bin, либо в сборке, установленной в глобальном кэше сборок.Обратите внимание, что имя типа чувствительно к регистру и что каталоги, такие как \ App_Code и \ bin, должны находиться в корневом каталоге приложения и не могут быть вложены в подкаталоги.

Сообщение об ошибке само по себе довольно объяснимо.Тем не менее, я все еще хочу указать на различные ситуации, когда это может произойти.Вот формат служебной директивы файла .svc:

<%@Service language=c# Class="<Managed Type>" [Other attributes] %>

Вот возможные причины, по которым это может произойти:

  • Указанная строка для атрибута «Class»не представляет существующий тип CLR.Иногда это может быть связано с опечаткой.Эта строка чувствительна к регистру.Также, если вы копируете это из MS-Word, кавычки могут быть некоторыми специальными символами Unicode вместо реальных кавычек ASCII.
  • Если у вас есть сборка (содержащая тип службы) в каталоге \ bin, возможно, вы не создали виртуальный каталог, так что его корневой каталог содержит \ bin в качестве непосредственного подкаталога.
  • Если в кодовом файле \ App_Code указан ваш тип, это может быть связано с той же причиной, что и выше.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...