#c# #.net #wcf
#c# #.net #wcf
Вопрос:
я новичок в WCF (я начал изучать его сегодня :)).
Каково максимальное значение аргументов * Timeout в привязке? Можно ли настроить его бесконечно?
<netTcpBinding>
<binding name="VeryLargeDataTcpBinding" maxReceivedMessageSize="1000000000000" transferMode="Streamed" closeTimeout="02:00:00" openTimeout="02:00:00" receiveTimeout="02:00:00" sendTimeout="02:00:00" />
</netTcpBinding>
Ответ №1:
Все OpenTimeout, SendTimeout и ReceiveTimout проверяются с помощью внутреннего метода TimeoutHelper:
public static bool IsTooLarge(TimeSpan timeout)
{
return ((timeout > MaxWait) amp;amp; (timeout != Infinite));
}
Где значение maxWait по умолчанию установлено в Ctor привязки к
TimeSpan.FromMilliseconds(2147483647.0);
Которое, я полагаю, составляет почти 25 дней?
Комментарии:
1. 1 за то, что связал его с maxWait и за
Infinite
. Пожалуйста, уважаемый OP, не используйте бесконечность или установите ее равной 25 дням…2. Это помогает устанавливать эти значения таймаута в большие числа при отладке вашего клиента и сервера в VS, в противном случае у вас не так много времени, когда вы исследуете свои переменные в отладчике и наступает таймаут.