2016-08-31 3 views
0

Мы пытались передать большие файлы с помощью настраиваемого типа возврата HttpResult ServiceStack. Однако, если служба работает под Ubuntu 14.04 LTS с Mono v4.4.2, соединение преждевременно закрывается, прежде чем мы сможем прочитать весь файл. Его очень случайное время, когда он остается открытым, иногда мы можем передавать 50 МБ, иногда он закрывается на 4 МБ.Mono ServiceStack преждевременно закрывает соединения tcp

Точная служба без изменений кода работает безупречно под Windows, и мы передали файлы размером 333 МБ.

Нам либо нужно знать, что является причиной преждевременного завершения соединения, либо как настроить servicestack/mono, чтобы соединение оставалось открытым в течение более длительного периода времени.

+0

Какой веб-сервер (Apache/Nginx/XSP) вы используете или используете HttpListener? Можете ли вы предоставить небольшой образец услуги, показывающий падение соединения при отправке файла? –

ответ

2

Рекомендуемый способ запуска ServiceStack on Mono - использовать Nginx, HyperFastCGI, который, как мы обнаружили, обеспечивает большую надежность по умолчанию Nginx/Mono FastCGI.

Но, в конечном счете, HTTP-стек Mono по своей сути ненадежен и работает плохо по сравнению с Windows/.NET, который мы рекомендуем использовать вместо этого для тяжелых рабочих нагрузок.

Будущее для запуска .NET на Linux будет использовать .NET Core, вы можете проголосовать за this feature request, чтобы получить уведомление о прогрессе ServiceStack для обновлений .NET Core.

Смежные вопросы