仅通过代码从特定目录提供静态文件

发布于 2024-10-31 10:39:28 字数 493 浏览 6 评论 0原文

我正在寻找一种基于代码的解决方案,仅使用 ASP.NET 路由从指定目录提供静态文件,而不是在 Web.config 中指定 HttpHandler

例如:

我有以下部分目录布局

/
/public
/public/hello.txt
/public/css
/public/css/base.css
/readme.txt

如果从 /public 目录请求任何文件,则应按原样提供它们。如果请求任何其他静态文件(例如 /readme.txt),则应将其作为 404 提供。允许提供静态文件的目录应该可以轻松地指定为字符串(var publicDir = "public";)。

我希望在 Web.config 文件中几乎不需要任何配置,并且大部分配置都是在代码中完成的。

I am looking for a code based solution to only serving static files from a specified directory using ASP.NET routing rather than specify a HttpHandler in the Web.config.

For example:

I have the following partial directory layout

/
/public
/public/hello.txt
/public/css
/public/css/base.css
/readme.txt

If any files are requested from the /public directory they should be served as-is. If any other static files are requested for example /readme.txt it should be served as a 404. The directory which allows static files to be served from should be easily specified as a string (var publicDir = "public";).

I am looking to do this with little to no configuration required in the Web.config file, and most of it configured in code.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄荷港 2024-11-07 10:39:28

我认为不可能使用类库来实现解决方案。在 IIS 6 环境中,扩展名为 .TXT 或 .JPG 的文件无需通过 .NET 框架即可提供。唯一的方法是更改​​ IIS 配置。

IIS 7中,事情的处理方式有所不同,但我不知道是否可以找到适用于所有环境的解决方案。

我很高兴听到其他人对此的看法,并在我感到疲倦时纠正我。

I don't think it would be possible to achieve a solution using a class library. In IIS 6 environment files with .TXT or .JPG extension are served without going through .NET Framework. The only way is changing IIS configuration.

In IIS 7 things are handled differently but I have no idea if it is possible to find a solution that works in all environments or not.

I'll be pleased to hear what others say about this and correct me if i'm worng.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文