Проблемы с таргетингом службы .NET 4 WCF на 64-битную - PullRequest
4 голосов
/ 11 ноября 2010

У меня проблемы с таргетингом службы .NET 4 WCF на 64-битную.Я делаю следующие шаги в 64-битной ОС Vista:

Создайте новый проект службы WCF в Visual Studio 2010.

Измените целевой объект Platform на x64.

После этогомоя служба WCF больше не будет работать ни в Cassini, ни в IIS.Следует отметить, что при выполнении тех же действий и нацеливании на .NET 3.5 все работает нормально.Проект строится без проблем.Любая помощь высоко ценится.Ошибка, которую я получаю при загрузке сервиса:

(я не ищу ответа «скомпилируйте это как любой процессор». Мне больше интересно знать, почему это происходит. :-))

Ошибка сервера в «/» приложении.Тип 'WcfService3.Service1', предоставленный как значение атрибута Service в директиве ServiceHost или предоставленный в элементе конфигурации system.serviceModel / serviceHostingEnvironment / serviceActivations, не найден.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.InvalidOperationException: Тип 'WcfService3.Service1', предоставленный в качестве значения атрибута Service в директиве ServiceHostили не предоставлен в элементе конфигурации system.serviceModel / serviceHostingEnvironment / serviceActivations. Не удалось найти.

Ошибка источника:

Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение.Информацию о происхождении и местонахождении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

Трассировка стека:

[InvalidOperationException: тип 'WcfService3.Service1', предоставленный в качестве атрибута ServiceНе удалось найти значение в директиве ServiceHost или в элементе конфигурации system.serviceModel / serviceHostingEnvironment / serviceActivations.] System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost (String constructorString, Uri [] baseAddresses) +51viceostan.Hervice)..CreateService (String normalizedVirtualPath) +1440 System.ServiceModel.HostingManager.ActivateService (String normalizedVirtualPath) +44 System.ServiceModel.HostingManager.EnsureServiceAvailable (служба String normalizedVirtualPath * 10ception * 15A: 10aExc.'не может быть активирован из-за исключения во время компиляции.Сообщение об исключении: тип «WcfService3.Service1», предоставленный в качестве значения атрибута Service в директиве ServiceHost или в элементе конфигурации system.serviceModel / serviceHostingEnvironment / serviceActivations не найден.] System.Runtime.AsyncResult.Конец (результат IAsyncResult) +679246 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End (результат IAsyncResult) +190 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.Activation.HttpModule.ProcessRequest (Отправитель объекта, EventArgs e) +355 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +148 System.Web.HttpApplication.ExecuteStep (завершено)1023 *

Информация о версии: Microsoft .NET Framework Версия: 4.0.30319;ASP.NET версия: 4.0.30319.1

Ответы [ 2 ]

4 голосов
/ 12 ноября 2010

Я думаю, что причина этого заключается в том, что веб-хост Cassini является 32-битным приложением, поэтому вы не можете совместно использовать среды выполнения x64 и x86 внутри одного процесса.

Для IIS вы запускаете его в своем пуле приложений? Опять же, пул приложений может быть разделен с 32-битными приложениями, которые затем не позволят вам запустить процесс x64. Если вы связываете свой виртуальный каталог с новым пулом приложений, процесс должен загрузиться нормально.

0 голосов
/ 10 ноября 2011

предоставлено в качестве значения атрибута Service в директиве ServiceHost или в элементе конфигурации system.serviceModel / serviceHostingEnvironment / serviceActivations не найден.

...