ASP.NET MVC Boilerplate简介

ASP.NET MVC Boilerplate简介

ASP.NET MVC Boilerplate是专业的ASP.NET MVC模版用来创建安全、快速、强壮和适应性强的Web应用或站点。它在微软默认MVC模版之上提供了要求最少的代码实现。

使用此模版的主要好处:

  • 安全
  • 性能
  • 搜索引擎优化 (SEO)
  • 可访问性
  • 浏览器兼容
  • 弹性和错误处理
  • 简单调试和性能测试工具
  • 设计模式和最佳实践
  • 搜索

ASP.NET MVC Boilerplate 技术路线图

为什么需要ASP.NET MVC Boilerplate?

Visual Studio提供的默认MVC模版 没有充分发挥工具的作用。它非安全、缓慢并且仅有很基本的特性组成。ASP.NET MVC Boilerplate提供部分解决方案让你快速启动。它允许自由使用并提供检查列表帮助你明确需要做的任务让你的应用和站点更加完善。

此文余下部分将浏览针对MVC模版的提高。结束时提供如何使用它。同时,提供未来将做的改进,此处将浏览每个功能的细节。

默认安全

默认MVC模版并不安全。各种设置 (大部分在web.config文件中)并不是默认安全的。例如,它曝露了使用的IIS版本并默认允许外部脚本访问Cookie。

ASP.NET MVC Boilerplate 默认使用安全选项,并使用各种发送给浏览器的HTTP头严格要求请求和响应。

也使用了新的内容安全策略 (CSP) HTTP头,通过使用 NWebSec NuGet程序包。CSP 保证了Web安全,强烈建议阅读上面的链接。

设置 SSL/TLS让你的站点运行在HTTPS之上,你可以通过上面的链接和说明进行配置。

默认快速

默认MVC模版没有考虑性能问题。可能它们没有考虑使用何种Web服务器。几乎所有的ASP.NET MVC站点都使用IIS,其配置在web.config文件中system.webServer节中,对性能影响尤其重要。

ASP.NET MVC Boilerplate没有假设。它为静态文件和动态文件打开GZip压缩,让它们在被送到浏览器之前变得更小,能被更快下载。它也默认使用内容分发网络 (CDN) 让通用脚本如jQuery能被快速下载。

不仅如此! 还有其它很多调教和最佳实践的示例用来帮助提高ASP.NET MVC Boilerplate 性能达到96/100分,评测使用YSlow

搜索引擎优化 (SEO)

默认 ASP.NET MVC模版没有考虑搜索引擎优化。ASP.NET MVC Boilerplate添加动态生成的robots.txt文件告诉搜索引擎哪些页面可以被索引。同时添加动态生成的sitemap.xml文件帮助搜索引擎更进一步提供访问所有你的页面的途径。

ASP.NET MVC有很多有用的设置用来追加斜杠地址到URL并让所有URL小写。但不幸的事,所有这些默认被关闭了,这对SEO来说真的事糟糕极了。此项目打开了所有这些设置。

它同时包含一个MVC过滤器用来帮助重定向非标准URL到它们的标准地址。

可访问性

世界4%人口有视觉障碍,0.55%为盲人。更多的统计可从此处获得。ASP.NET MVC Boilerplate保证你站点的可访问性,通过增加aria特性到你的HTML标记和专门图标给使用屏幕阅读的人们。.

浏览器兼容

站点需要满足通过各种设备的多数人尽可能访问。ASP.NET MVC Boilerplate支持浏览器到IE8 (IE8仍占有4%的市场份额)。

ASP.NET MVC Boilerplate也支持桌面浏览器的其它设备。它包括默认图标并且可为Windows 8、安卓、苹果设备和少数其它特别设备进行显示。

弹性和错误处理

站点抛出异常并且你需要处理并且记录异常,让后让你便于理解并修复它。ASP.NET MVC Boilerplate 包含Elmah,最流行的日志插件已经被预置在模板中。

ASP.NET MVC Boilerplate使用来自谷歌和微软流行的内容发布网络 (CDN),如果不行不好用,ASP.NET MVC Boilerplate提供备份。

不仅有标准的错误页如500 Internal Server Error、404 Not Found和很多其它错误页内建在末班中。ASP.NET MVC Boilerplate甚至包含了IIS配置来保护免受Denial-of-Service (DoS)攻击。

简单调试和性能测试工具

ASP.NET MVC Boilerplate 使用 Glimpse (鉴于Scott Hansleman的 宣传)。 它是不错的用来进行开发并查找性能问题和缺陷的工具。当然Glimpse是预置好的,不需要安装。

设计模式和最佳实践

做正确的事需要时间。使用控制反转(IOC) 作为默认模式。ASP.NET MVC Boilerplate使用Autofac作为IOC默认容器。很多其它容器都工作得很好,选择Autofac因为有很多ASP.NET MVC帮助类并且微软使用它为Azure Mobile Services工作。

ASP.NET MVC Boilerplate也使用流行的LESS文件让CSS变得简单。

ASP.NET 是复杂的怪兽,会遇到很多魔法字符串,要进行重命名简直可以说是异常噩梦。有很多处理此类问题的方法,不过性能都不佳。ASP.NET MVC Boilerplate广泛应用常量保持可维护性和性能之间的平衡。

Atom种子

Atom 1.0默认包含。选择Atom而非RSS因为它是更新更好的规范。PubSubHubbub 0.4 被内建支持,允许你推送种子更新给订阅者。

搜索

有很多实现搜索的方法。ASP.NET MVC Boilerplate包含搜索特性,但让你自由选择你的实现方式。它也实现了Open Search XML。请阅读Hanselman讨论此特性于此

社交

Open Graph 元标签和Twitter Card 元标签被默认包含。不止如此,ASP.NET MVC Boilerplate包括全文档化的HTML帮助类允许你轻松生成Open Graph对象或者Twitter Card满足标签的简单和正确性。

如何获得

选择如下选项获得:

  1. 下载Visual Studio 2013扩展 于此并且在 Visual      Studio中选择 文件à 新建项目 à Web
  2. 克隆git仓库:

git clone https://github.com/RehanSaeed/ASP.NET-MVC-Boilerplate

发布说明和待办列表

你可以在这里找到每个版本的发布说明,还有在这里找到新特性和即将到来的增强。

项目的未来

作者试图创建Visual Studio部署程序包 (VSIX) 并且在Visual Studio扩展中列出项目模版。为了使用模版,你只需要轻松选择ASP.NET MVC Boilerplate从 在线模版,在文件à新建项目à在线模版菜单。难以置信的,其实创建起来很复杂。作者找到了 Export Template Wizard Visual Studio扩展。

同时创建不同的Visual Studio模版包括ASP.NET Web API和OAuth认证。

时间: 2024-10-20 05:01:02

ASP.NET MVC Boilerplate简介的相关文章

Orchard开源ASP.NET MVC CMS简介

项目简介: Orchard CMS 是一个免费的开放源代码内容管理系统,让用户可在 Microsoft ASP.NET MVC 平台上快速创建网站.它基于灵活的扩展性框架构建,使开发人员和定制人员可通过模块和主题提供其他功能. 官方网站:http://www.orchardproject.net/ 官方论坛交流:http://orchard.codeplex.com/discussions 官网Modules:http://gallery.orchardproject.net/ 开发语言:ASP

ASP.NET MVC 模式简介

为什么要学习ASP.Net MVC? MVC架构模式诞生30年后,因为其提供的良好的松耦合.易于扩展.高可维护性等优点,重新在开发社区火起来.作为微软全新的Web网站开发框架,ASP.NET MVC提供了全新的开发模式,完美支持经典的MVC架构模式.为.NET工程师提供了完全不同的开发体验. 越来越多的公司和开发者开始加入到MVC开发模式中来,使他进入了一个高速发展的状态,而现在MVC已经变成了ASP.NET下的一种常见的开发模式,它能让你学习一种完全不同的架构,所以这是我们有理由也有必要掌握的

ASP.NET MVC5(一):ASP.NET MVC概览

ASP.NET MVC概览 ASP.NET MVC是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. ASP.NET MVC模式简介 MVC将Web应用程序划分为三个主要的部分,以下是MSDN给出的定义: 模型(Model):模型对象是实现应用程序数据域逻辑的应用程序部件. 通常,模型对象会检索模型状态并将其存储在数据库中. 例如,Product 对象可能会从数据库中检索信息,操作该信息,然后将更新的信息写回到 SQL S

ASP.NET MVC 入门1、简介

什么是MVC模式 MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller). 那么MVC模式和我们熟悉的WebForm模式有什么不同呢?他的各个部分又是怎样分工的呢? 我们先来看一下普通的WebForm模式下,我们请求一个例如http://www.51mvc.com/blog/index.aspx的URL,那么我们的WebForm程序会到网站根目录下去寻

Asp.net mvc 框架揭秘之Asp.net +Mvc简介

1.什么是MVC? 介绍MVC之前说一下自治视图(Autonomous View):将UI界面的呈现.交互动作的捕捉响应.逻辑处理流程.数据存储等糅合在一起(如WebForm),我们将这种设计模式成为自治视图 自治视图的弊端: 视图和逻辑糅合在一起,不利于逻辑的复用 不利于对UI组件的调试 MVC是基于关注点分离的方针的架构模式,它将一个人机交互用户的功能分为Model.View.Controller三部分,它们各自具有自己的职责: Model:是对用于状态和业务功能的封装,是同时包含行为和数据

(一)ASP.NET MVC简介

(1)什么是ASP.NET MVC? HttpHandler 是 ASP.NET 的底层机制,如果直接使用 HttpHandler 进行开发难度比较大,工作量大.因此提供了 ASP.NET MVC, ASP.NET WebForm 等高级封装的框架,简化开发,他们的底层仍然是实现了 HttpHandler, HttpRequest 等这些东西.比如 ASP.NET MVC 的核心仍然是实现了 IHttpHandler 接口的 MVCHandler. (2)ASP.NET WebForm 和 AS

ASP.NET MVC 教程-MVC简介

ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种不同的开发模式:Web Pages(Web 页面).MVC(Model View Controller 模型-视图-控制器).Web Forms(Web 窗体). 本教程介绍 MVC. MVC 编程模式 MVC 是三种 ASP.NET 编程模式中的一种. MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应

ASP.NET MVC 简介

1. ASP.NET MVC 是什么? ASP.NET MVC是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序(Web Application)框架,它由Castle的MonoRail而来,日前最新版本是ASP.NET MVC 4.0.是将一个Web应用分解为:Model.View和Controller.ASP.NET MVC框架提供了一个可以代替ASP.NET WebForm的基于MVC设计模式的应用. MVC的优点: (1).通过把项目分成Model.View和Contro

ASP.NET MVC简介

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. MVC 是三种 ASP.NET 编程模式中的一种. Model(模型层)表示应用程序核心(比如数据库记录列表)