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.