servicemodel net wcf wcf-binding

wcf - net - http binding c#



¿Cómo puedo configurar el tiempo de recepción y el tiempo de envío a infinito con este contacto de WCF? (3)

Establézcalo como tiempo máximo, que es 10675199.02: 48: 05.4775807

sendTimeout="10675199.02:48:05.4775807"

Tengo el siguiente app.config en mi Host:

<services> <service name="DCC_Service.DCCService" behaviorConfiguration="serviceBehavior"> <endpoint binding="netNamedPipeBinding" contract="DCC_Service.IDCCService" address="DCCService" /> <endpoint binding="mexNamedPipeBinding" contract="IMetadataExchange" address="mex" /> <host> <baseAddresses> <add baseAddress="net.pipe://localhost/"/> </baseAddresses> </host> </service> </services> <behaviors> <serviceBehaviors> <behavior name="serviceBehavior"> <serviceMetadata httpGetEnabled="false"/> </behavior> </serviceBehaviors> </behaviors>

¿Cómo configuro los tiempos de espera de netNamedPipeBinding en infinito, también Timespan.MaxValue como Timespan.MaxValue ?


También puedes dar el máximo tiempo de espera como abajo.

{

binding.CloseTimeout = TimeSpan.MaxValue; binding.OpenTimeout = TimeSpan.MaxValue; binding.ReceiveTimeout = TimeSpan.MaxValue; binding.SendTimeout = TimeSpan.MaxValue;

}


Use infinite para los diversos valores de tiempo de espera: cerrar, abrir, recibir y enviar. Usted especifica estos tiempos de espera en una configuración de enlace como tal.

<bindings> <netNamedPipeBinding> <binding name="mybinding" closeTimeout="infinite" openTimeout="infinite" receiveTimeout="infinite" sendTimeout="infinite" /> </netNamedPipeBinding> </bindings>

La sección de bindings va al mismo nivel que las secciones de services y behaviors . Lo único que queda es hacer referencia a la configuración de enlace en su punto final de servicio.

<services> <service name="DCC_Service.DCCService" behaviorConfiguration="serviceBehavior"> <endpoint binding="netNamedPipeBinding" contract="DCC_Service.IDCCService" address="DCCService" bindingConfiguration="mybinding"/> <!-- SEE THIS LINE --> <endpoint binding="mexNamedPipeBinding" contract="IMetadataExchange" address="mex" /> <host> <baseAddresses> <add baseAddress="net.pipe://localhost/"/> </baseAddresses> </host> </service> </services> <behaviors> <serviceBehaviors> <behavior name="serviceBehavior"> <serviceMetadata httpGetEnabled="false"/> </behavior> </serviceBehaviors> </behaviors>

No recuerdo específicamente (y no tengo tiempo para mirar ahora), pero es posible que también tenga que poner esto en la configuración de su cliente.