2010-11-12 24 views
7

WSHttpBinding için EnvelopeVersion.Soap11 ileti sürümünü ayarlamak istiyorum. Bunu nasıl yapacağımı bilmiyorum. Biri bana yardım edebilir mi. Burada Bunu başarmak içinAyar WCF istemcisi için kodda ileti sürümü

TransportBindingElement transportElement = null; 

     transportElement = new HttpsTransportBindingElement(); 

     ((HttpsTransportBindingElement)transportElement).AuthenticationScheme = AuthenticationSchemes.Basic; 
     ((HttpsTransportBindingElement) transportElement).KeepAliveEnabled = false; 

     var messegeElement = new TextMessageEncodingBindingElement 
     { 
      MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap11, AddressingVersion.None), 
      ReaderQuotas = 
        { 
         MaxArrayLength = 200000, 
         MaxBytesPerRead = 200000, 
         MaxDepth = 200000, 
         MaxNameTableCharCount = 200000, 
         MaxStringContentLength = 200000 
        } 
     }; 

     var binding = new CustomBinding(messegeElement, transportElement); 
     return binding; 

cevap

6

, sen bağlama özel bir tanımlamaya gerek bunu yapmak için kod - config veya kodunda: Burada

var binding = new WSHttpBinding() 
     { 
      UseDefaultWebProxy = true, 
      Security = 
      { 
       Mode = SecurityMode.Transport, 
       Transport = 
       { 
        ClientCredentialType = HttpClientCredentialType.Basic 
       }, 
      }, 
     }; 

DÜZENLEME benim bağlayıcı kodudur. Servis veya istemci yapılandırmasında, ardından

<system.serviceModel> 
    <bindings> 
     <customBinding> 
     <binding name="Soap11"> 
      <textMessageEncoding messageVersion="Soap11" /> 
      <httpTransport /> 
     </binding> 
     </customBinding> 
    </bindings> 

ve böyle bir şey kullanın::

config'de böyle o şey yapacağını

<services> 
     <service name="test"> 
     <endpoint name="TestEP" 
      address="" 
      binding="customBinding" 
      bindingConfiguration="Soap11" 
      contract="IService" /> 
     </service> 
    </services> 
</system.serviceModel> 
+2

Nasıl C# ile bu başarmak için kod? – Amzath

+0

@amz: Orijinal sorunuzu bu çözümle ** güncellemelisiniz; Orada düzgün biçimlendirebilir ve sunabilirsiniz - burada yorumlarda, bu dağınık bir ilişki .... –

+1

Yanıtı kaynak kodu eklendi – Amzath

İlgili konular