Невозможно добавить расширение поведения WCF к поведению конечной точки - PullRequest
2 голосов
/ 31 марта 2011
<system.serviceModel>
  <extensions>
      <behaviorExtensions>
          <add name="WSDLFlatteningExtension" type="Thinktecture.ServiceModel.Extensions.Description,Thinktecture.ServiceModel.Extensions.Description,Version=1.0.0.0,Culture=Neutral,PublicKeyToken=f0de9a190a6d23d1"/>
      </behaviorExtensions>
  </extensions>
  <behaviors>
    <endpointBehaviors>
      <behavior name="WSDLFlatteningBehavior">
          <WSDLFlatteningExtension />
      </behavior>
    </endpointBehaviors>    
  </behaviors>
</system.serviceModel>

<WSDLFlatteningExtension /> строка выше не распознается в моем web.config. Выдает ошибку во время выполнения. Я удалил dll в C: \ windows \ Assembly, а также в C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE, но, похоже, ничего не работает.

Ответы [ 4 ]

1 голос
/ 01 апреля 2011

Мне удалось решить проблему.Это была проблема с dll, на которую я ссылался.Мне пришлось реализовать BehaviorExtensionElement в этом классе, чтобы сделать его доступным в конфигурации.

1 голос
/ 01 апреля 2011

Если предположить, что ошибка - это AssemblyNotFoundException, тогда вы можете попробовать добавить ссылку на DependentAssembly в файл конфигурации, чтобы платформа могла разрешить AssemblyName, указанное в типе.

0 голосов
/ 01 апреля 2011

Да, атрибут type = мне тоже кажется неправильным.Это должно быть что-то вроде type = "Your.Full.Namespace.ClassName, Your.Assembly.Name, Version, Culture, PublicKeyToken".

Пример из MSDN :

type="Microsoft.WCF.Documentation.EndpointBehaviorMessageInspector, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
0 голосов
/ 01 апреля 2011

Я предлагаю вам проверить имя типа, указанное в вашем атрибуте type= - оно мне не подходит.Вам необходимо указать полное имя типа IEndpointBehavior, который вы хотите добавить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...