Что не ясно, но я думаю, что вы неявно спрашиваете, возможно ли настроить на стороне сервера тайм-аут любых вызовов, обработка которых занимает более одной минуты. Это невозможно
gravidThoughts
Ответы:
196
Вы имеете в виду сторону сервера или сторону клиента?
Для клиента вы бы хотели настроить атрибут sendTimeout элемента привязки. Для услуги, вы хотите настроить ReceiveTimeout атрибут связывания elemnent.
В меню «Инструменты» в Visual Studio 2008 (или 2005, если у вас установлены правильные компоненты WCF) есть параметры «Редактор конфигурации службы WCF».
Оттуда вы можете изменить параметры привязки как для клиента, так и для служб, один из этих вариантов будет для тайм-аутов.
publicstaticvoidMain(){Uri baseAddress =newUri("http://localhost/MyServer/MyService");try{ServiceHost serviceHost =newServiceHost(typeof(CalculatorService));WSHttpBinding binding =newWSHttpBinding();
binding.OpenTimeout=newTimeSpan(0,10,0);
binding.CloseTimeout=newTimeSpan(0,10,0);
binding.SendTimeout=newTimeSpan(0,10,0);
binding.ReceiveTimeout=newTimeSpan(0,10,0);
serviceHost.AddServiceEndpoint("ICalculator", binding, baseAddress);
serviceHost.Open();// The service can now be accessed.Console.WriteLine("The service is ready.");Console.WriteLine("Press <ENTER> to terminate service.");Console.WriteLine();Console.ReadLine();}catch(CommunicationException ex){// Handle exception ...}}
Ответы:
Вы имеете в виду сторону сервера или сторону клиента?
Для клиента вы бы хотели настроить атрибут sendTimeout элемента привязки. Для услуги, вы хотите настроить ReceiveTimeout атрибут связывания elemnent.
Конечно, вы должны сопоставить желаемую конечную точку с этой конкретной привязкой.
источник
receiveTimeout
стороне сервера определяет определение простоя для привязок на основе сеанса. Например, сервер не будет использовать этот параметр для базовых привязок HTTTP. Вы должны свернуть свои собственные тайм-ауты обработки на стороне сервера для WCFВ меню «Инструменты» в Visual Studio 2008 (или 2005, если у вас установлены правильные компоненты WCF) есть параметры «Редактор конфигурации службы WCF».
Оттуда вы можете изменить параметры привязки как для клиента, так и для служб, один из этих вариантов будет для тайм-аутов.
источник
Разные тайм-ауты означают разные вещи. Когда вы работаете над клиентом ... вы, вероятно, в основном смотрите на SendTimeout - проверьте эту ссылку - замечательное и уместное объяснение: http://social.msdn.microsoft.com/Forums/en-US/wcf/thread / 84551e45-19a2-4d0d-bcc0-516a4041943d /
источник
Вы можете выбрать два способа:
1) по коду в клиенте
2) По WebConfig в веб-сервере
Для более детального ознакомления с официальной документацией
Настройка значений времени ожидания для привязки
Класс WSHttpBinding
источник
В дополнение к обязательным таймаутам (которые указаны в
Timespan
с), вам также может понадобиться это. Это в секундах.источник