【问题标题】:FTP virtual paths. How to know real Windows path?FTP 虚拟路径。如何知道真实的 Windows 路径?
【发布时间】:2012-02-24 03:27:49
【问题描述】:

我在某些托管服务提供商处共享托管帐户。所以,我可以通过 FTP 上传图片或其他东西。例如,我的 ASP .NET 二进制文件位于 /mysite.com/www/bin 中。但是如何在我的应用程序中将日志记录设置为文件?为此,我应该使用真实路径。我什至尝试只写入当前目录,但我可以通过 FTP 看到这个日志文件。我猜它只是写入一些 tmp 路径,例如无法通过 FTP 访问的 ''。 那么如何设置日志文件路径呢?


这是我尝试写入当前二进制文件目录的方式:

using (StreamWriter sw = new StreamWriter(String.Format("{0}{1}{2}", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "\", "log.txt"), true))
{
  sw.WriteLine(DateTime.Now.ToString() + ": " + msg);
  sw.WriteLine("------------");
  sw.Flush();
  sw.Close();
}

它写入一些较长的 windows 路径,我猜它用于临时存储二进制文件。

【问题讨论】:

  • 一些代码可能会有所帮助。
  • 给你。请参阅帖子更新。
  • 这是仅在 Web 主机上(意味着 他们 管理 IIS)还是在您管理的虚拟服务器上(意味着 管理 IIS )?
  • 我不管理服务器。根据您的条款,他们管理 IIS。
  • 那你就不走运了。他们可能不希望他们的磁盘空间被随机的网络应用程序占用,如果他们有办法管理它,那么他们应该告诉你该怎么做。

标签: c# asp.net .net windows ftp


【解决方案1】:

假设您的问题是“我正在运行 FTP 服务器并提供“C:\myFTP\”的内容,我该如何将日志文件(即来自 ASP.Net 应用程序)写入通过 FTP 从服务器获得的文件?”

回答 - 只需将日志写入该“C:\myFTP”位置(或您的本地 FTP 服务器配置为提供服务的任何位置。

【讨论】:

  • 我没有自己的服务器。我刚刚拥有共享主机帐户。
  • 在这种情况下,您是否尝试过询问托管服务提供商的支持,以了解在哪里写入文件?在不知道确切的托管服务提供商/托管设置/限制的情况下,这里的任何人都不太可能提供更有用的答案。
  • 我想知道在任何托管服务提供商上获取此位置的通用通用路径。
【解决方案2】:

我自己解决了。你应该使用HttpContext.Current.Server.MapPath

【讨论】:

    猜你喜欢
    • 2013-07-20
    • 2014-12-18
    • 1970-01-01
    • 2014-11-28
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多