2009-08-21 22 views
0

asp.netアプリケーションフレームワークのファイルシステム部分は、SaaS /マルチテナンシーアプローチ、特にスケールアップに関してインラインで更新する必要があります。ASP.NET SaaSアプリケーションファイルストレージ:ドライブレターパスまたはUNCパス

私たちの現在のファイルシステムは、テナントごとにファイルをディスクに別々のフォルダに格納しています。

ie:X:\ FilesFolder \ ApplicationInstance \ TenantAなどテナント名とファイル名はGuidsです。私たちはHttpHandlerを使ってファイルを取得し、すべてのパスと名前を解決し、元のファイル名などを返します。各テナントのルートパスを保存します。X:\ FilesFolder \ ApplicationInstance \必要に応じて異なる場所に移動します。

このシステムをスケールアップすることに対する懸念に関して、私はいくつかの質問をしています...(ハードウェア/ Windowsインフラストラクチャ側の私の無知を私のファイルシステムコードへの更新の実装に関するより多くの質問にしてください)

1)ファイルはすべてNASデバイスに保存する必要があります。

2)NASデバイスを追加してサーバーファームを構築する場合は、ドメインコントローラーの実行を開始する必要がありますか?このエフェクトはどのようにパスを参照していますか?

編集: 、ドメイン、サーバファームに必要とされていないことが分かった。この効果に使用可能なパスなど

3)私たちはドライブ文字パスを使用すべきかわからない、まだ、素晴らしいです(マッピングされましたドライブ)またはUNCパス?

4)UNCを参照ではなく、名前を任意のパフォーマンスヒットがありますが問題は私たちが期待することができ、どのようにこの効果は、ドメイン上で動作しているか、いない何の権限も、同じマシン内の文字()

5)を駆動しますか?

編集: ドメインを有する権限が容易になり、それでもまだ違いが何であるかを知らないでしょう。

このアプローチ、ベストプラクティス、またはより良いアプローチに感謝します。

ありがとう

答えて

2

パスは実装の詳細に過ぎないように、ストレージコードを抽象化する必要があります。このようにして、ストレージ技術で必要とされるように、パスアーキテクチャを完全に変更することができます。

+0

私たちはHttpHandlerを持っていて、絶対パスかUNCによって構成されたディスクからのファイルの実際の読み取り/ストリーミングを有効にする必要があると思います。 –

+0

さて、いいえ、それは私が言ったことではありません。私は抽象的なファイルのアクセスを離れて言った。 –

+0

あなたは何を言っているのですか? –

関連する問題