我正在 Visual Studio 中创建一个 .net 网站。
该网站利用文本文件的读写,我的问题是在哪里放置我的文本文件,访问文件的物理路径是什么。
在我的项目中,我使用以下语句访问文件
var sr = new StreamReader(@"C:\Users\Vinu\Desktop\token.txt");
我想知道文件的路径应该是什么而不是@"C:\Users\Vinu\Desktop\token.txt";
这样我就可以在使用 IIS7 发布站点后访问该文件。
我正在 Visual Studio 中创建一个 .net 网站。
该网站利用文本文件的读写,我的问题是在哪里放置我的文本文件,访问文件的物理路径是什么。
在我的项目中,我使用以下语句访问文件
var sr = new StreamReader(@"C:\Users\Vinu\Desktop\token.txt");
我想知道文件的路径应该是什么而不是@"C:\Users\Vinu\Desktop\token.txt";
这样我就可以在使用 IIS7 发布站点后访问该文件。
要回答您的问题,这取决于文件的体积,如果文件的体积很大并且您想将它放在单独的文件服务器中并访问它。您可以将其放置在共享位置\\sharelocation
并进行访问,否则您可以将其放入应用程序目录本身并使用
Server.Mappath(".")
这将为您提供根目录的物理路径,对于将其放在共享位置的第一个选项,您可以在 appsettings 下的 web.config 中有一个变量,该变量将为您提供共享位置。
我不建议在 App_Data 中使用它的原因是,如果您在网络负载平衡器中,您的 app_data 文件夹特定于您的 Web 应用程序的一个实例,我更喜欢将文件放在共享位置并访问它们。
在您的解决方案中使用“App_Data”文件夹。
如果你真的想在桌面上存储你的数据,使用Environment.SpecialFolder
枚举来获取动态路径。例如
Environment.GetFolderPath( Environment.SpecialFolder.Desktop));
注意:Environment.SpecialFolder
枚举包含其他位置,如 MyDocuments、ProgramFiles 等,请在此处查看更多信息:http: //msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx