【问题标题】:where to place the texfile放置文本文件的位置
【发布时间】:2012-10-15 07:28:46
【问题描述】:

我正在 Visual Studio 中创建一个 .net 网站。

网站利用了文本文件的读写,我的问题是我的文本文件放在哪里,访问文件的物理路径是什么。

在我的项目中,我使用以下语句访问文件 使用

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

我想知道文件的路径应该是什么而不是@"C:\Users\Vinu\Desktop\token.txt";

这样我就可以在使用 IIS7 发布网站后访问该文件。

【问题讨论】:

  • 您可以将文件放在任何地方。您也可以将其放在项目内的文件夹中。或者您可以继续使用 C 目录或任何其他目录。如果将文件放在项目中,则使用 Server.MapPath 访问它,否则请提供字符串的完整路径。

标签: .net visual-studio-2010 c#-4.0 iis-7


【解决方案1】:

要回答你的问题,这取决于文件的体积,如果文件的体积很大,你想把它放在一个单独的文件服务器中并访问它。您可以将其放置在共享位置 \\sharelocation 并访问,否则您可以将其放入您的应用程序目录本身并使用

访问路径
 Server.Mappath(".")

这将为您提供根目录的物理路径,对于将其放在共享位置的第一个选项,您可以在 appsettings 下的 web.config 中拥有一个变量,该变量将为您提供共享位置。

我不建议在 App_Data 中使用它的原因是,如果您在网络负载平衡器中,您的 app_data 文件夹特定于您的 Web 应用程序的一个实例,我更喜欢将文件放在共享位置并访问它们。

【讨论】:

    【解决方案2】:

    在您的解决方案中使用“App_Data”文件夹。

    如果您真的想将数据存储在桌面上,请使用Environment.SpecialFolder 枚举来获取动态路径。例如

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

    注意:Environment.SpecialFolder 枚举包含其他位置,例如 MyDocuments、ProgramFiles 等,请在此处查看更多信息:http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

    【讨论】:

      猜你喜欢
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多