사용자 지정 바인딩을 만들고이를 App.config를 통해 구성 할 수있게하려고합니다.App.config를 통해 사용자 지정 바인딩을 구성 할 수 있도록 만들기
바인딩은 순간에 특별한 옵션이 없다, 그래서, 나는이 <BindingExtension>
를 통해 구성 지원을 활성화 할 필요가 있음을 발견 단지
<endpoint address="http://myAddress"
binding="myBinding"
contract="myContract">
일부 사이트를 확인한 후 지원하기 위해 충분하다.
구성 바인딩 확장 '시스템 : 프로그램을 실행하려고 할 때 나는
<extensions> <bindingExtensions> <add name="myBinding" type="MyNamespace.MyHttpBinding, NameOfMyDll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> </bindingExtensions> </extensions>
를 추가 할 때 때문에, MSDN 사이트가 많은 도움이되지 않았다, 나는 단지 다음과 같은 오류 메시지가 나타납니다 .serviceModel/bindings/myBinding '을 (를) 찾을 수 없습니다. 이 바인딩 확장이 system.serviceModel/extensions/bindingExtensions에 제대로 등록되어 있고 철자가 올바른지 확인하십시오.
bindingExtension에 언급 된 유형은 Binding
에서 상속되는 유형을 가리 킵니다.
바인딩에 대한 구성 지원을 사용하려면 무엇을 추가해야합니까?
Update
내 목표는 내가 설정 파일에 바인딩을 수출 할 수있을 것입니다. 바인딩에 대한 특별한 설정을 허용하고 싶지 않습니다. 설정 파일의 <endpoint>
태그를 통해 사용할 수 있어야합니다.
I've uploaded a minimal sample project where the bug occurs to
megaupload
.
일반적으로하는 일은 효과가 있습니다. WebServiceHost를 사용하지 않고 시도해 보셨습니까? – tomasr
예, ServiceHost에서도 시도했습니다. 문제가 지속됩니다. 나는 "foobar"와 같은 무의미한 것에 확장의 "type"속성을 변경하더라도 오류 메시지가 변경되지 않는다는 것을 알아 챘습니다. Additionaly, 나는 바인딩의 dll을 전역 어셈블리 캐시에 추가하려고 시도했다. 여전히 동일한 오류 메시지 :-( – Etan
바인딩 확장과 같은 소리가 전혀로드되지 않습니다. 아마도 fuslogvw.exe를 사용하여 어셈블리가로드되지 않았는지 확인하려고 했습니까? WCF는 어셈블리 이름 작성 방법에 대해 까다 롭습니다. 설정 확장을 등록 할 때 – tomasr