【问题标题】:ASP.net mvc How to handle 404 which caused by missing of fileASP.net mvc 如何处理文件丢失导致的 404
【发布时间】:2012-11-06 12:26:21
【问题描述】:

我在文件夹“/UploadDir/TextFile1.txt”中有文件 我需要:

  1. 下载文件(如果存在)
  2. 如果文件不存在(例如 url :"/UploadDir/TextFile2.txt")应显示自定义错误消息。

但是现在我的 mvc 应用程序没有处理任何对丢失或现有文件的请求,当我在 Application_BeginRequest 上放置断点并尝试请求文本文件时 - 什么也没发生。

除了我尝试覆盖 HttpNotFound 和 HandleUnknownAction 但同样失败。

谁能帮助我如何处理文件请求(如果存在)或显示自定义错误(如果找不到)。

ps。路由配置是默认的

【问题讨论】:

  • web.config中runAllManagedModulesForAllRequests的值是多少?

标签: asp.net-mvc asp.net-mvc-4 download asp.net-mvc-routing


【解决方案1】:

听起来请求 GET /UploadDir/TextFile1.txt 正在由 IIS 处理,而不是传递到 ASP.NET 管道。由于 .txt 扩展名,IIS 将尝试使用其静态文件处理程序提供内容,并发现文件不存在,并发出 404。

您需要更改配置以将这些请求传递给 ASP.NET 处理程序以进行进一步处理。具体细节取决于您的 IIS 版本。

【讨论】:

  • 我有最新的 iis 7.5 版本,你能提供任何处理文件的例子吗?
  • 我对 IIS7 的了解不够,无法为您提供确切的步骤 - 我必须使用 IIS7 实例来解决它,而我手头没有。在ServerFault.com 上询问如何执行此操作可能会更好。
猜你喜欢
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
  • 2021-02-20
相关资源
最近更新 更多