2017-11-08 1 views
1

FTPサーバーにドロップされる.csvファイルを検出できるようにする必要があります。ファイルが転送されると、コードをトリガしてファイルを読み込み、.csvファイルからSQL Serverにすべての情報をアップロードする必要があります。ファイルが転送された後、アップロードされたものを本質的に検証して計算を実行する他のいくつかの関数を実行する必要があります。ASP.NET MVC 5がバックグラウンドサーバー側で新しいファイル終了実行関数を検出する

理想的な意味では、ファイルが削除されると(人間の介入なしにバックグラウンドで実行される)機能が実行されるはずです。 FileWatcherがC#アプリケーションで使用されたが、MVCでは使用されなかった場所が見つかりました。

これは、Asp.net MVC 5またはこれより良い解決策でこれが達成される例はありますか?

ありがとうございました。

+4

なぜこれをASP.NET MVC 5アプリケーションに実装したいのですか? MVCアプリケーションと同じマシン上で動作する新しいアプリケーション(Windowsサービスなど)を作成する方がよいでしょうか。このWindowsサービスは、FileWatcherでフォルダを監視し、データをデータベースに転送することができます。 – Shamshiel

+0

私はそれを1つのアプリ内ですべて作業することをより簡単にしたいと思います。また、それがWindowsサービスとして書かれていた場合、データをデータベースに転送した後、MVCアプリケーションのプロセスをどのように起動させるのでしょうか? – user2806570

+0

どのようなプロセスですか? MVCアプリケーションは正確に何をすべきですか? – Shamshiel

答えて

1

FileSystemWatcher hereのC#サンプルがあります。しかし、IISで実行されているWebアプリケーションは、長時間実行されるスレッドにとって最適なプラットフォームではありません。 IISは、アプリケーションプールのリサイクルを実行する際にスレッドを定期的に停止させ、予期しない結果が出たときに再作成しようとします。しばらくしてもWebリクエストを受信しないと、IISはスリープ状態になり、スレッドの動作も停止します。これらのことを行わないように強制的にIISの設定を変更すると、メモリリークなどの事態が発生する可能性があります。数年前、私たちはQuartz.Netで作業していました。スケジューラースレッドをASP.Net WebアプリケーションからWindowsサービスに移して正常に動作するまで、あらゆる種類の問題に直面しました(突然実行されず、メモリ例外が発生しました)。私は、IISがあなたがしたいことをすることを考えているとは思わない。

関連する問題