2011-10-27 4 views
2

webHttpBinding에 대해 keepAlive를 비활성화하는 방법이 궁금합니다. 이 방법으로 할 수 있다는 것을 알고 있습니다.프로그래밍 방식으로 WebHttpBinding에 대한 연결 유지 설정

<bindings> 
<customBinding> 
    <binding name="WebHttpWithoutKeepAlive"> 
     <webMessageEncoding /> 
     <httpTransport keepAliveEnabled="false" /> 
    </binding> 
</customBinding> 
</bindings> 
<services> 
<service name="MyService" behaviorConfiguration="myServiceBehavior"> 
<endpoint address="http://localhost:9005/" 
     binding="customBinding" 
     bindingConfiguration="WebHttpWithoutKeepAlive" 
     contract="IMyService" 
     behaviorConfiguration="myServerEndpointBehavior"/> 
</service> 
</services> 

어떻게 프로그래밍 방식으로 동일한 작업을 수행 할 수 있습니까?

답변

4
private Binding CreateBinding() 
{ 
    Binding binding = new WebHttpBinding(); 

    CustomBinding customBinding = new CustomBinding(binding); 
    var transportElement = customBinding.Elements.Find<HttpTransportBindingElement>(); 
    transportElement.KeepAliveEnabled = false; 

    return customBinding; 
} 
관련 문제