Обработка большого файла в .NET Webservice прерывается - PullRequest
2 голосов
/ 25 февраля 2011

Позвольте дать вам подробную информацию об этой довольно странной проблеме.

У нас есть очень большой текстовый файл для обработки, он имеет размер 780 МБ и, вероятно, станет больше.Обработка этого файла находится в .NET WebService, запрос отправляется от клиента веб-сайта Asp.Net, и обработка начинается, а затем по завершении возвращается на веб-сайт.FTP и обрабатывается примерно за минуту.Теперь файл перемещается в общий сетевой ресурс, но когда .Net WebService пытается обработать файл, поток прерывается.

Когда я запускаю .net webService на моем компьютере, обработка в порядке,и это завершается (хотя и очень медленно).Когда .net WebService размещается на веб-сервере (размещенном в IIS 6.0), он подвергается исключению из прерванного потока.

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 25 февраля 2011

Если вы запускаете его в режиме отладки на своем компьютере, тайм-аут запроса отключен. Если не отладка, то она включена (и по умолчанию 110 секунд).

См. http://msdn.microsoft.com/en-us/library/e1f13641.aspx

Тем не менее, веб-служба выполняет длительную обработку, как правило, не очень хорошо для масштабируемости. Сохраняйте короткие веб-запросы [службы] и перемещайте длительную пакетную обработку в отдельную службу [windows], чтобы избежать блокировки ресурсов IIS / asp.net.

0 голосов
/ 25 февраля 2011

Это вполне может быть тайм-аут выполнения. Проверьте конфигурацию вашего сервера, официальный документ здесь: Элемент httpRuntime (схема настроек ASP.NET)

0 голосов
/ 25 февраля 2011

Возможно, веб-сервис не имеет прав доступа к общему сетевому ресурсу. Вы пытались переместить файл на локальный диск?

...