Как указать тип класса wcf поведенияExtension без номера версии сборки? - PullRequest
2 голосов
/ 25 марта 2010

У меня есть веб-приложение, которое использует службу WCF, которая использует поведениеExtension, например:

<behaviorExtensions>
<add name="clientCredentialsExtension" type="Simon.Web.Giftcard.WCFSecurity.ClientCredentialsExtensionElement, Simon.Web.Giftcard, Version=1.0.3736.20411, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>

Проблема в том, что версия этого веб-приложения меняется с каждой компиляцией (я думаю) и, таким образом, делает эту запись недействительной.

Как мне избежать необходимости менять номер версии каждый раз, когда я это компилирую? Можно ли где-то указать расширение в коде?

Ответы [ 4 ]

3 голосов
/ 25 марта 2010

Попробуйте это:

<behaviorExtensions>
    <add 
        name="clientCredentialsExtension"         
        type="Simon.Web.Giftcard.WCFSecurity.ClientCredentialsExtensionElement, Simon.Web.Giftcard"/>
</behaviorExtensions>
2 голосов
/ 13 мая 2011

Если вы застряли в .NET 3.5, где ошибка конфигурации еще не устранена, решение заключается в реализации IServiceBehavior вашим сервисом. См. эту статью, пример 6-15 .

1 голос
/ 08 ноября 2010

Видимо, это исправлено в .Net 4.0 beta 2. Мне не очень полезно, кто застрял с 3.5.

http://connect.microsoft.com/wcf/feedback/details/216431/wcf-fails-to-find-custom-behaviorextensionelement-if-type-attribute-doesnt-match-exactly

0 голосов
/ 13 мая 2011

Эта досадная ошибка и раньше меня кусала. В конце концов, я изменил все, чтобы создать код, а не конфиг.

...