Я создал пользовательскую привязку и хочу настроить ее на App.config.Создание настраиваемой привязки, настраиваемой над App.config
Связывающую не имеет специальных опций в данный момент, так что было бы достаточно, чтобы поддерживать только
<endpoint address="http://myAddress"
binding="myBinding"
contract="myContract">
После проверки некоторых сайтов, я узнал, что я должен включить поддержку конфигурации через <BindingExtension>
. Однако сайт MSDN не помогло, так как, когда я пытаюсь добавить
<extensions>
<bindingExtensions>
<add name="myBinding"
type="MyNamespace.MyHttpBinding, NameOfMyDll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</bindingExtensions>
</extensions>
, я только получить следующее сообщение об ошибке при попытке запустить программу:
Конфигурация привязки расширение «системы .serviceModel/bindings/myBinding 'не удалось найти. Убедитесь, что это обязательное расширение правильно зарегистрировано в system.serviceModel/extensions/bindingExtensions и что оно написано правильно.
Тип, упомянутый в обязательном расширении, указывает на тип, который наследуется от Binding
.
Что мне нужно добавить, чтобы включить поддержку конфигурации для моего привязки?
Update
Моя цель состоит в том, чтобы просто быть в состоянии экспортировать мой привязки к файлу конфигурации. Я не хочу разрешать какие-либо специальные настройки для привязки. Его следует использовать только в теге <endpoint>
конфигурационного файла.
I've uploaded a minimal sample project where the bug occurs to
megaupload
.
В общем, то, что вы делаете, должно работать. Вы пробовали это, не используя WebServiceHost, но обычный? – tomasr
Да, попробовал это также с ServiceHost. Проблема сохраняется. Я заметил, что сообщение об ошибке не изменяется, даже если я изменяю атрибут «type» в расширении на что-то глупое, как «foobar». Кроме того, я попытался добавить dll привязки в глобальный кэш сборок. Сообщение об ошибке все равно то же самое :-( – Etan
Похоже, что ваше расширение привязки вообще не загружается. Пробовали ли вы использовать fuslogvw.exe, чтобы проверить, не собирается ли сборка загружаться? WCF придирчив к тому, как записывается имя сборки при регистрации конфигурационных расширений. – tomasr