私は ASP.Net Web サイトを持っています。場合によっては、ユーザーがダウンロードする .pdf ファイルと .csv ファイルを生成しています。
ここで私の質問: そのファイルを Web サーバーに保存するためのデフォルトのディレクトリは何ですか? App_... などの ASP.NET フォルダーはありますか?
何をお勧めしますか?
私は ASP.Net Web サイトを持っています。場合によっては、ユーザーがダウンロードする .pdf ファイルと .csv ファイルを生成しています。
ここで私の質問: そのファイルを Web サーバーに保存するためのデフォルトのディレクトリは何ですか? App_... などの ASP.NET フォルダーはありますか?
何をお勧めしますか?
ファイルを再利用したくない場合は、ファイルをディスクに保存せずに直接ストリーミングします。
ファイルをディスクに保存する場合、ファイルの内容をすべてのユーザーが利用できるようにするかどうか、または他のユーザーがファイルにアクセスできるようにするのは悪い考えかどうかを自問する必要があります。それが悪い考えである場合は、対応するアクセス権を設定して、ファイルを配置したフォルダーをユーザーが使用できないようにする必要があります。これを行うには、フォルダを Web サイト ディレクトリの外に置くか、ファイル システムまたは Web サーバーにセキュリティ設定を設定します。
基本的に、ファイルを書き込んでいるユーザー (通常は ASP.NET アプリケーション プール ユーザー) が書き込み可能になっている任意のフォルダーにファイルを配置できます。IIRC の App_data フォルダーは、ASP.NET ユーザーに対してデフォルトで書き込み可能であるため、候補になる可能性があります。
このニーズに合わせて適切なフォルダーを作成できます
ここに特定のフォルダのリストがあります(ただし、必要ありません):
App_GlobalResources,
App_LocalResources,
App_Resources
App_Themes
App_WebReferences)
App_Code
App_Data
App_Browsers
プロジェクト構造に関するMSDNリンクはこちら
リンク: http://msdn.microsoft.com/en-us/library/ex526337%28v=vs.100%29.aspx
それは本当にあなた次第です!それらをソリューションのサブフォルダーに配置して、それらが自己完結型であり、ツリーのさらに下のフォルダーについて心配することなく簡単にセキュリティを制御できるようにすることをお勧めします。
フォルダーは、あなたがそうであるように言うものです。ボリュームが少ない場合は、ファイルをメモリからストリーミングして、サーバーに保存しないようにすることができます。
複数の Web サーバーを使用するかどうか、およびサーバーをクラスター内に配置するかどうかを検討することも重要です。このような場合に備えて、ファイルを Web アプリケーション フォルダーの下に保持したり、アプリケーション パスに対して相対的にアクセスしたりせず、簡単に公開できる別のフォルダーにファイルを保持することをお勧めします (まだ存在する可能性があります)。セキュリティ上の問題があります) をネットワーク パスとして使用します。