Тип [nameHere], зарегистрированный для расширения '[extensionHere]', не может быть загружен
Я изучал и создавал веб-службы JSONP с использованием WCF на fx3.5. Вы можете прочитать некоторые из испытаний, которые я провел в .NET ASMX - Returning Pure JSON? Наконец-то я получил образец, но теперь я нахожусь в голубом хвосте в моем приложении.
Web.config для службы:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="JsonpServiceBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="RivWorks.Web.Service.CustomerService">
<endpoint address=""
binding="customBinding"
bindingConfiguration="jsonpBinding"
behaviorConfiguration="JsonpServiceBehavior"
contract="RivWorks.Web.Service.ICustomerService" />
</service>
<service name="RivWorks.Web.Service.NegotiateService">
<endpoint address=""
binding="customBinding"
bindingConfiguration="jsonpBinding"
behaviorConfiguration="JsonpServiceBehavior"
contract="RivWorks.Web.Service.INegotiateService" />
</service>
</services>
<bindings>
<customBinding>
<binding name="jsonpBinding" >
<jsonpMessageEncoding />
<httpTransport manualAddressing="true"/>
</binding>
</customBinding>
</bindings>
<extensions>
<bindingElementExtensions>
<add name="jsonpMessageEncoding"
type="RivWorks.Web.Service.JSONP.JsonpBindingExtension
, RivWorks.Web.Service
, Version=1.0.0.0
, Culture=neutral
, PublicKeyToken=null"/>
</bindingElementExtensions>
</extensions>
</system.serviceModel>
Я получаю следующую ошибку, и я пробовал все, что мог придумать, чтобы исправить ее. Нашел несколько опечаток (Sevice вместо Service), которые посыпались по всему моему коду. Я использую код примера, найденный в MSDN. Вот ошибка:
Configuration Error Description:** An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The type 'RivWorks.Web.Service.JSONP.JsonpBindingExtension
, RivWorks.Web.Service
, Version=1.0.0.0
, Culture=neutral
, PublicKeyToken=null' registered for extension 'jsonpMessageEncoding' could not be loaded.
Source Error:
Line 58: <customBinding>
Line 59: <binding name="jsonpBinding">
Line 60: <jsonpMessageEncoding />
Line 61: <httpTransport manualAddressing="true" />
Line 62: <binding>
Source File: C:\RivWorks\dev\services\web.config Line: 60
Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082
Есть ли у кого-нибудь идеи о том, что еще я могу проверить? Существует DLL, называемая RivWorks.Web.Service.dll, она создается и копируется в каталог bin веб-сайта. Сервисы Web.config копируются в каталог служб веб-сайта. У меня нет ничего противоречивого на веб-сайте web.config. Я проверил все проблемы с орфографией.
Ответы
Ответ 1
Является ли dll (RivWorks.Web.Service.dll) в выводе сборки?
Далее, попробуйте (для расширения jsonpMessageEncoding):
type="RivWorks.Web.Service.JSONP.JsonpBindingExtension, RivWorks.Web.Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
Обратите внимание на разный интервал как в терминах " , "
, так и на возврат каретки.
После этого я бы утроил строку. Напишите консоль exe, которая ссылается на необходимую вам DLL (RivWorks.Web.Service) и выводит:
Console.WriteLine(
typeof(RivWorks.Web.Service.JSONP.JsonpBindingExtension)
.AssemblyQualifiedName);
Это строка, которую вы хотите в xml, дословно. Не включайте лишние пробелы в этой строке.