2016-08-31 5 views
0

私たちは、ServiceStackのカスタマイズされたHttpResult戻り値型を介して大きなファイルを転送しようとしています。しかし、サービスがMono v4.4.2でUbuntu 14.04 LTSの下で動作している場合、ファイル全体を読む前に接続が途中で終了します。オープンしている時間が非常にランダムで、50MBを転送することもありますが、時には4MBで終了することもあります。Mono ServiceStackがtcp接続を早く閉じます

コード変更なしの全く同じサービスは、Windows上で完全に実行され、333MBのファイルを転送しています。

接続が早期に終了する原因や、接続が長期間開いたままになるようにサービススタック/モノを設定する方法を知る必要があります。

+0

どのWebサーバー(Apache/Nginx/XSP)を使用しているのか、HttpListenerを使用していますか?あなたはファイルを送信中に接続ドロップを示すサービスの小さなサンプルを提供できますか? –

答えて

2

MonoでServiceStackを実行する場合の推奨方法は、Nginx, HyperFastCGIを使用して、デフォルトのNginx/Mono FastCGIよりも信頼性が向上していることです。

最終的に、MonoのHTTPスタックは本質的に信頼性が低く、Windows/.NETと比較して性能が劣りますが、重い作業負荷の代わりに使用することをお勧めします。

Linuxで.NETを実行するには、.NETコアを使用することになります。this feature requestに投票して、.NETコアアップデートのServiceStackの進捗状況を通知できます。

関連する問題