ASP.NET 5 与之前的 ASP.NET 相比,有着翻天覆地的变化。了解与熟悉它需要一个过程,而我选择的了解方式是一步一步从无而有手写一个简单的 ASP.NET 5 程序,然后根据遇到的问题进行学习。

这篇博文是关于静态文件(比如图片,css)处理的。

在之前的 ASP.NET 中,只需要将静态文件放到相应的网站目录中就行了,这是由 IIS 进行处理的,在 ASP.NET 程序中可以不用关心。

但是在 ASP.NET 5 中有 2 个不一样的地方。

第一个就是在 ASP.NET 5 中,网站根目录不等于 ASP.NET 应用程序的根目录。

网站根目录是由 project.json 中的 webroot 的值指定的。比如 ASP.NET 5 应用程序的根目录是 HelloCnblogs,而 webroot 的值是 wwwroot,那网站根目录就是 HelloCnblogs/wwwroot。假设现在想在网站根目录的 styles/ 文件夹中放一个 about.css 文件,就需要放在 HelloCnblogs/wwwroot/styles/ 文件夹中。

.
└── wwwroot
└── styles
└── about.css

第二个就是要让静态文件能被访问,需要在 project.json 中引用处理静态文件的程序集,并且在 Startup.cs 中进行配置。

开始不知道,添加了静态文件后,访问时一直是 404 错误。后来才知道,需要在 project.json 中添加 Microsoft.AspNet.StaticFiles 的引用:

{
"dependencies": {
"Microsoft.AspNet.StaticFiles": "1.0.0-*"
}
}

还要在 Startup.cs 调用 app.UseStaticFiles() :

public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles();
}
}

ASP.NET 5中的静态文件处理的更多相关文章

  1. (5)ASP.NET Core 中的静态文件

    1.前言 当我们创建Core项目的时候,Web根目录下会有个wwwroot文件目录,wwwroot文件目录里面默认有HTML.CSS.IMG.JavaScript等文件,而这些文件都是Core提供给客 ...

  2. Asp.Net Core 中的静态文件

    Asp.Net Core 中的静态文件 在这节中我们将讨论如何使 ASP.NET Core 应用程序,支持静态文件,如 HTML,图像,CSS 和 JavaScript 文件. 静态文件 默认情况下, ...

  3. asp.net core 系列之静态文件

    这篇讲解asp.net core中的静态文件(大致翻译于官网). 静态文件,例如HTML,CSS, images和JavaScript. 要想直接被客户端访问,需要做一些配置. 一.Serve sta ...

  4. ASP.NET Core应用针对静态文件请求的处理[4]: DirectoryBrowserMiddleware中间件如何呈现目录结构

    和StaticFileMiddleware中间件一样,DirectoryBrowserMiddleware中间本质上还是定义了一个请求地址与某个物理目录之间的映射关系,而目标目录体现为一个FilePr ...

  5. ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求

    我们通过<以Web的形式发布静态文件>和<条件请求与区间请求>中的实例演示,以及上面针对条件请求和区间请求的介绍,从提供的功能和特性的角度对这个名为StaticFileMidd ...

  6. ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求

    通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...

  7. ASP.NET Core应用针对静态文件请求的处理[1]: 以Web的形式发布静态文件

    虽然ASP.NET Core是一款"动态"的Web服务端框架,但是在很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件.CSS样式文件和图片文件 ...

  8. ASP.NET Core 1.1 静态文件、路由、自定义中间件、身份验证简介

    概述 之前写过一篇关于<ASP.NET Core 1.0 静态文件.路由.自定义中间件.身份验证简介>的文章,主要介绍了ASP.NET Core中StaticFile.Middleware ...

  9. ASP.NET Core 1.0 静态文件、路由、自定义中间件、身份验证简介

    概述 ASP.NET Core 1.0是ASP.NET的一个重要的重新设计. 例如,在ASP.NET Core中,使用Middleware编写请求管道. ASP.NET Core中间件对HttpCon ...

随机推荐

  1. C++ 用libcurl库进行http通讯网络编程

    使用libcurl完成http通讯,很方便而且是线程安全,转载一篇比较好的入门文章 转载自 http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724 ...

  2. 在数学建模中学MATLAB

    为期三周的数学建模国赛培训昨天正式结束了,还是有一定的收获的,尤其是在MATLAB的使用上. 1. 一些MATLAB的基础性东西: 元胞数组的使用:http://blog.csdn.net/z1137 ...

  3. {Reship}{ListView}C# ListView用法详解

    ======================================================================== This aritcle came from http ...

  4. WSGI

    [WSGI] WSGI:Web Server Gateway Interface. WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求.我们来看一个最简单的Web版本的 ...

  5. 一个前辈对FPGA的理解

    接下来对比一下我原来和现在对于FPG A的认识:原来从单片机转型到FPG A时,并没有摸清这趟河水的深浅,而在不知深浅的情况下,我已经开始下水了.当时我认为FPG A和单片机一样,它是由一个超级经典的 ...

  6. Javascript函数、构造函数、原型、类和对象

    函数 函数是JavaScript中特殊的对象,对函数执行typeof运算会返回字符串"function",因为函数也是对象,他们可以拥有属性和方法. 静态方法 函数在JS中定义了类 ...

  7. An unknown error occurred & “”的 iPhone is busy: Processing symbol files

    An unknown error occurred & ""的 iPhone is busy: Processing symbol files An unknown err ...

  8. Dojo学习_组件属性

    注意组件的引用顺序,避免出现对象不是构造函数或属性undefined的情况! 1.修改文本  require([ 'dojo/dom', 'dojo/domReady!' ], function (d ...

  9. Android 操作SQLite基本用法

    一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的 ...

  10. mongodb:短网址项目

    短网址项目概述 1.短网址项目,是将给定的长网址,转换成短网址. 如 新浪 http://t.cn/zQd5NPw ,其中zQd5NPw就是短网址 前段页面如下