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认证。

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

  1. Orchard开源ASP.NET MVC CMS简介

    项目简介: Orchard CMS 是一个免费的开放源代码内容管理系统,让用户可在 Microsoft ASP.NET MVC 平台上快速创建网站.它基于灵活的扩展性框架构建,使开发人员和定制人员可通 ...

  2. ASP.NET MVC 4 简介

    介绍 使用Visual Studio 2010开发的话,首先需要安装MVC4,可以参考另一篇文章 进行安装. ASP.NET MVC 运行流程 (Clinet) Http Request 客户端发起 ...

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

    ASP.NET MVC概览 ASP.NET MVC是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. 1.ASP.NET MV ...

  4. 简介 – ASP.NET MVC 4 系列

           正所谓好记性不如烂笔头,尤其是技术类书籍在阅读后,时间久了一定会忘记.而重新翻阅整本书也较为低效,遂以博客记录阅读摘要以供日后查阅.本系列文章均摘要自 Wrox 红皮书[ASP.NET ...

  5. 笨鸟先飞之ASP.NET MVC系列之过滤器(01过滤器简介)

    过滤器 什么是过滤器? 过滤器(Filter) 主要的作用大致可以理解为把我们的附加逻辑注入到MVC框架的请求处理. 在ASP.NET MVC的请求处理中一种有19个管道事件分别是 BeginRequ ...

  6. ASP.NET MVC教程一:ASP.NET MVC简介

    一.MVC模式简介 MVC模式是一种流行的Web应用架构技术,它被命名为模型-视图-控制器(Model-View-Controller).在分离应用程序内部的关注点方面,MVC是一种强大而简洁的方式, ...

  7. 第1章 (ASP.NET MVC简介)

    一.MVC概念 MVC由三部分组成:视图(View).模型(Model).控制器(Controller)组成 二.运用VS创建MVC 1.新建一个"解决方案" 2.在"解 ...

  8. ASP.NET MVC 简介

    1. ASP.NET MVC 是什么? ASP.NET MVC是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序(Web Application)框架,它由Castle的MonoRai ...

  9. ASP.NET MVC简介

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码 ...

随机推荐

  1. HDU 2063 过山车 二分图题解

    一个男女搭配的关系图,看能够凑成多少对,基本和最原始的一个二分图谜题一样了,就是 一个岛上能够凑成多少对夫妻的问题. 所以是典型的二分图问题. 使用匈牙利算法,写成两个函数,就很清晰了. 本程序还带分 ...

  2. iis虚拟目录引发的路径问题

    在iis上把web程序配置成站点是ok的,但配置成虚拟目录,就会发现 图片路径不能,样式不能加载,链接出错. 解决方案: 1,上传图片  ~/upload 2,cs程序,链接跳转,请用~/index. ...

  3. 传智播客成都校园php纪律指控

    继传智播客成都校区php第一期班圆满开班,说明php的火爆一点儿也不亚于java! 经传智播客商讨决定,传智播客成都校区php学科收费标准例如以下: 採用下面不论什么一种方式都能够享受优惠价: 一.自 ...

  4. 返璞归真 asp.net mvc (3) - Controller/Action

    原文:返璞归真 asp.net mvc (3) - Controller/Action [索引页] [源码下载] 返璞归真 asp.net mvc (3) - Controller/Action 作者 ...

  5. PHP情人:p十几天来学习hp第一天

    我这里是暂时的 Apache web server 和 MY SQL 如WEB,在php-4.3.3下的环境做的程序.当然要简单的构建和訪问查看数据库 PHPMYADMIN 不可少.  以下简介一下P ...

  6. 玩转Web之easyui(一)-----easy ui datagird 分页

    easy ui 中数据表格的分页其实是很简单的,分页是在数据表格可以正常显示数据的基础上进行的,在这里给出servlet的代码,其中selectAll()方法是从数据库中提取所有数据, 分页的一种思路 ...

  7. thinkphp达到UploadFile.class.php图片上传功能

    片上传在站点里是非经常常使用的功能.ThinkPHP里也有自带的图片上传类(UploadFile.class.php) 和图片模型类(Image.class.php).方便于我们去实现图片上传功能,以 ...

  8. 【Android进阶】判断网络连接状态并自动界面跳转

    用于判断软件打开时的网络连接状态,若无网络连接,提醒用户跳转到设置界面 /** * 设置在onStart()方法里面,可以在界面每次获得焦点的时候都进行检测 */ @Override protecte ...

  9. Cordova探险系列(一个)

    最早接触PhoneGap平台是在1年多之前,可以使用HTML.CSS和JavaScript跨平台来编写Android或者IOS设备程序.而且应用的核心代码不须要多少改动就行移植.确实让我感觉的到它应该 ...

  10. 自己动手写CPU之第八阶段(4)——转移指令实现过程2

    将陆续上传本人写的新书<自己动手写CPU>,今天是第36篇,我尽量每周四篇 开展晒书评送书活动,在亚马逊.京东.当当三大图书站点上,发表<自己动手写CPU>书评的前十名读者,均 ...