2011-12-08 12 views
0

私はASP.Netウェブサイトを構築しており、ウェブサイトはPDFを入力として受け付けて処理しています。私は特定の名前の中間ファイルを生成しています。しかし、複数のユーザーが同じサイトを同時に使用しているかどうかを知りたいのですが、サーバーがこれをどのように処理しますか。複数のウェブサイトへの同時アップロード

どうすれば対応できますか?マルチスレッド化は機能しますか?私が生成している中間ファイルのファイル名はどうですか?私はどうやってお互いを無効にしないのかを確認することができます。どのようにパフォーマンスを達成するには?

ご質問があなたのためにあまりにも基本的な場合は申し訳ありません。

答えて

0

私は.NETには入っていませんが、とにかく一般的な問題のように聞こえるので、ここで私の2セントです。

マルチスレッド(通常は異なるスレッドで実行されるさまざまな要求)は、すべてのメソッド呼び出しが新しいオブジェクトを別のコンテキストで実行するため、この種の問題のほとんどを処理します。

ただし、例外はあります。 - 操作の副作用があるシングルトン(グローバル)オブジェクト - その他のリソース(ファイルなど)。これはあなたのケースです。

ので、ファイルの場合には、私はこれらの(相互に排他的)な代替熟考したい:

を(1)そこに記憶し、それを処理中にそれを保持する代わりに、ディスクにアップロードされたファイルを書き込むことはありません(のようにバイト配列)。この場合、リクエストごとのスレッド保護を利用しています。あなたのファイルが本当に大きければ、これは適用できません。

(2)非常にランダムな名前(UUIDなど)を選択して一時的な場所に書き込むことで、2人のユーザーが同時にアップロードすると名前が衝突しないようにします。

私は可能な限りいつも(1)と行きます。

最高

関連する問題