VS2010, служба WCF не запускается
Я рассмотрю, что я сделал до сих пор шаг за шагом, как показано ниже:
- создано пустое решение
- добавлен веб-сайт WCFService
- удалили службу и IService с веб-сайта
- добавлен проект библиотеки WCF в решение
- добавлены конечные точки в web.config
- сделал то же самое в app.config
- добавлена ссылка на библиотеку сервисов в веб-приложении.
- ctrl + F5
9
Я получаю следующую ошибку:
Ошибка сервера в '/WFLedger' Заявка. Тип 'Services.WFLedger.WF_Ledger', в качестве атрибута службы значение в директиве ServiceHost, или предусмотренный в конфигурационном элементе system.serviceModel/serviceHostingEnvironment/serviceActivations невозможно найти. Описание: необработанное исключение произошло во время выполнение текущей сети запрос. Просмотрите трассировку стека для получения дополнительной информации об ошибке и где он возник в коде.
Сведения об исключении:
System.InvalidOperationException: тип 'Services.WFLedger.WF_API_Ledger', в качестве атрибута службы значение в директиве ServiceHost, или предусмотренный в конфигурационном элементе system.serviceModel/serviceHostingEnvironment/serviceActivations не удалось найти.
Ошибка источника:
Создано необработанное исключение во время выполнения текущего веб-запрос. Информация о происхождение и местоположение исключения могут быть идентифицированы с использованием исключения трассировка стека ниже.
Трассировка стека:
[InvalidOperationException: тип 'Services.WFLedger.WF_Ledger', в качестве атрибута службы значение в директиве ServiceHost, или предусмотренный в конфигурационном элементе system.serviceModel/serviceHostingEnvironment/serviceActivations не удалось найти.]
System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri [] baseAddresses) +654
System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +1439
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +45
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +647
[ServiceActivationException: service '/WFLedger/WF_Ledger.svc' не может быть активирована из-за исключение во время компиляции. сообщение об исключении: Тип 'Services.WFAPILedger.WF_API_Ledger', в качестве атрибута службы значение в директиве ServiceHost, или предусмотренный в конфигурационном элементе system.serviceModel/serviceHostingEnvironment/serviceActivations не удалось найти..]
System.Runtime.AsyncResult.End(IAsyncResult результат) +437
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult результат) +188
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication контекст, строка routeServiceVirtualPath, Boolean flowContext, Boolean обеспечиваетWFSсервис) +230 System.ServiceModel.Activation.HttpModule.ProcessRequest(объект отправитель, EventArgs e) +360
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +213 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean & completedSynchronously) +76
Это действительно сводит меня с ума!!!
почему я получаю эту ошибку?
если вам нужна дополнительная информация, пожалуйста, дайте мне знать, чтобы я предоставлял их вам
благодаря миллиону заранее
Ответы
Ответ 1
Посмотрите файл WF_Ledger.svc в своем проекте веб-сайта. Он должен состоять только из одной строки. Будет атрибут Service, содержащий "Services.WFAPILedger.WF_API_Ledger". WCF ищет класс "Services.WFAPILedger.WF_API_Ledger", но не находит его. Пространство имен и имя класса должны либо существовать в проекте веб-сайта, либо быть ссылкой, поскольку вы пытаетесь настроить. Вам нужно будет отредактировать этот атрибут Service, чтобы он соответствовал классу реализации службы в проекте библиотеки WCF.
Ответ 2
Пожалуйста, проверьте, предоставлен ли файл .svc и имеет следующую форму.
<% @ServiceHost Language=C# Debug="true" Service="MyService" CodeBehind="~/App_Code/Service.cs" %>
Вся его одна строка и файл не должны содержать ничего.
Ответ 3
Попробуйте добавить новый сервис по умолчанию, а затем проверьте, что новые добавленные работы прекрасны.
Если да, проверьте предоставленное имя контракта конечной точки web.config,
и в файле .svc проверить код за указанным правильно.
Ответ 4
В файле .svc параметр службы должен включать пространство имен, за которым следует имя класса i.e, оно должно быть в формате mynamespace.myservice
Ответ 5
Создайте проект WCF и повторите попытку. Эта ошибка может возникнуть из-за отсутствия DLL в папке bin.
Для меня создание и попытка снова разрешили его.
Ответ 6
Даже убедитесь, что в вашей директиве .svc файла значение атрибута "service" - это полное имя класса, то есть пример: если ваше пространство имен похоже на "ns1.ns2.ns3.ClassName" (где ns1, ns2, ns3 - пространства имен).