【问题标题】:How to serve static files from ASP.NET-MVC 4 app?如何从 ASP.NET-MVC 4 应用程序提供静态文件?
【发布时间】:2020-06-05 18:41:23
【问题描述】:

这是我第一次开发 ASP.NET 应用程序。

我需要从我的 ASP.NET 4 应用程序中提供一些静态文件。问题是,我希望这些文件看起来好像它们位于应用程序的根目录,而实际上它们是几个文件夹。使用 ASP.NET Core,这很容易;您只需将文件放在 wwwroot 文件夹中,服务器就会将这些文件视为位于根目录下。但我的老板要求我尽可能使用 ASP.NET 4,而不是 Core。所以我需要弄清楚如何配置它。

This postthis post 都回答了我的问题,但我不明白给出的答案。两个答案都告诉我在“启动”类中的“ConfigureStaticFiles”方法中添加一些功能。但我没有 Startup 课程。

那么,在 ASP.NET 4 中执行此操作的最佳方法是什么?我应该添加一个启动类吗?如果我添加一个 Startup 类,我该如何处理我的 Global.asax?还是我应该以其他方式解决这个问题?

【问题讨论】:

  • 默认情况下,IIS 将提供已注册 MIME 类型的文件。您无需为这些文件配置任何内容(例如,图像、pdf、文本文件、html 文件等)。您提供什么样的静态文件?是否有安全性(也就是只有登录才能下载?)你的问题很模糊。

标签: asp.net-mvc iis


【解决方案1】:

如果您希望从 MVC(而不是 IIS)提供所有静态文件,请将其添加到您的 web.config

 <modules runAllManagedModulesForAllRequests="true">
 ...under <system.WebServer>

进一步阅读@here

【讨论】:

    【解决方案2】:

    好的。

    我能够使用 URL 重写使特定子目录中的文件和文件夹看起来就像它们在根文件夹中一样。 This answer 提供了该功能的实现,尽管我的应用程序架构需要稍微不同的配置。

    我不知道 URL 重写是否是实现此功能的最佳方式,但这是我目前正在使用的方法。

    【讨论】:

      猜你喜欢
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多