0

VisualStudioで.netWebサイトを作成しています。

ウェブサイトはテキストファイルの読み取りと書き込みを利用しています。私の質問は、テキストファイルをどこに配置するか、ファイルにアクセスするために与えられる物理的なパスは何かということです。

私のプロジェクトでは、次のステートメントを使用してファイルにアクセスします。

var sr = new StreamReader(@"C:\Users\Vinu\Desktop\token.txt");

代わりにファイルのパスを教えてください@"C:\Users\Vinu\Desktop\token.txt";

IIS7を使用してサイトを公開した後、ファイルにアクセスできるようにします。

4

2 に答える 2

1

あなたの質問に答えるために、ファイルのボリュームが巨大で、別のファイルサーバーに入れてアクセスしたい場合、それはファイルのボリュームに依存します。それを共有の場所に配置して\\sharelocationアクセスするか、アプリケーションディレクトリ自体に配置してパスにアクセスできます

 Server.Mappath(".")

これにより、ルートの物理パスが得られます。共有の場所にルートを配置する最初のオプションとして、appsettings の下の web.config に変数を含めることができます。これにより、共有の場所が得られます。

App_Data に含めることを提案しない理由は、ネットワーク ロード バランサーを使用している場合、app_data フォルダーが Web アプリケーションの 1 つのインスタンスに固有であるため、ファイルを共有の場所に配置してそれらにアクセスすることを好むからです。

于 2012-10-15T07:36:50.850 に答える
0

ソリューションで「App_Data」フォルダーを使用します。

本当にデスクトップにデータを保存したい場合は、Environment.SpecialFolder列挙を使用して動的パスを取得します。例えば

Environment.GetFolderPath( Environment.SpecialFolder.Desktop));

注意:Environment.SpecialFolder列挙には、MyDocuments、ProgramFiles などの他の場所が含まれています。詳細については、http: //msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspxを参照してください。

于 2012-10-15T07:33:38.897 に答える