【问题标题】:Getting "This site can’t be reached" from remote server从远程服务器获取“无法访问此站点”
【发布时间】:2016-12-21 15:49:44
【问题描述】:

我有一个 .NET MVC 项目,我正在尝试从临时文件夹下载文件。这是我的视图代码:

window.open('@Url.Action("DownloadDocument", "Controller")?fileName=' + fileName, '_blank');

这是我的控制器代码:

    public FileResult DownloadDocument(string fileName)
    {
        string path = Web.Common.Properties.Settings.Default.TempDocPath + "OpenTable\\";
        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
        }

        return File(fileName, "application/xml", fileName + ".xml");
    }

此代码适用于 IIS,并且正在下载文件。但是尝试从远程服务器下载它时出现 500 错误。

无法访问此网站 <...> 处的网页可能暂时关闭,或者它可能已永久移至新网址。 ERR_INVALID_RESPONSE

最糟糕的是,系统中有一些几乎完全一样的代码 sn-ps 可以在 IIS 和远程服务器中运行。

有什么建议可以做吗?

更新

好消息。当我尝试邮递员时,它抛出了一个路径错误的文件未找到错误。这很容易解决:

return File(Path.Combine(path, fileName), "application/xml", fileName + ".xml");

所以这让我很困惑......它如何以及为什么在 IIS 上以错误的路径本地工作?

【问题讨论】:

  • 你能告诉我这个 'Web.Common.Properties.Settings.Default.TempDocPath' 返回什么吗?
  • ping 远程服务器的 URL 时会发生什么?您可以使用 Postman 或通过浏览器从您的计算机访问远程服务器吗?

标签: asp.net-mvc razor


【解决方案1】:

您需要在 Web 应用程序的根文件夹中创建临时文件夹,例如 ~/Temp,然后使用下面的代码访问该文件夹而不是 Web.Common.Properties.Settings.Default.TempDocPath,我认为这可能只是一个常数。

System.Web.Hosting.HostingEnvironment.MapPath("~/Temp")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2020-03-06
    • 2013-03-17
    • 2022-06-27
    • 1970-01-01
    相关资源
    最近更新 更多