代码改变世界

随笔分类 - [03]ASP.NET

解读ASP.NET 5 & MVC6系列(17):MVC中的其他新特性

2015-06-03 09:22 by 汤姆大叔, 19671 阅读, 收藏, 编辑
摘要: #(GlobalImport全局导入功能)默认新建立的MVC程序中,在Views目录下,新增加了一个`_GlobalImport.cshtml`文件和`_ViewStart.cshtml`平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名... 阅读全文

解读ASP.NET 5 & MVC6系列(16):自定义View视图文件查找逻辑

2015-06-02 09:07 by 汤姆大叔, 12112 阅读, 收藏, 编辑
摘要: 之前MVC5和之前的版本中,我们要想对View文件的路径进行控制的话,则必须要对`IViewEngine`接口的`FindPartialView`或`FindView`方法进行重写,所有的视图引擎都继承于该`IViewEngine`接口,比如默认的`RazorViewEngine`。但新版本MVC6... 阅读全文

解读ASP.NET 5 & MVC6系列(15):MvcOptions配置

2015-06-01 08:58 by 汤姆大叔, 8461 阅读, 收藏, 编辑
摘要: #程序模型处理 IApplicationModelConvention在`MvcOptions`的实例对象上,有一个`ApplicationModelConventions`属性(类型是:`List`),该属性`IApplicationModelConvention`类型的接口集合,用于处理应用模型... 阅读全文

解读ASP.NET 5 & MVC6系列(14):View Component

2015-05-29 09:18 by 汤姆大叔, 12004 阅读, 收藏, 编辑
摘要: 在之前的MVC中,我们经常需要类似一种小部件的功能,通常我们都是使用Partial View来实现,因为MVC中没有类似Web Forms中的WebControl的功能。但在MVC6中,这一功能得到了极大的改善。新版MVC6中,提供了一种叫做View Component的功能。你可以将View Co... 阅读全文

解读ASP.NET 5 & MVC6系列(13):TagHelper

2015-05-28 09:22 by 汤姆大叔, 14835 阅读, 收藏, 编辑
摘要: 在新版的MVC6中,微软提供了强大的TagHelper功能,以便让我们摆脱如下的臃肿代码:```csharp@Html.LabelFor(model => model.FullName)@Html.EditFor(model => model.FullName)@Html.ValidationMes... 阅读全文

解读ASP.NET 5 & MVC6系列(12):基于Lamda表达式的强类型Routing实现

2015-05-27 09:05 by 汤姆大叔, 8227 阅读, 收藏, 编辑
摘要: 前面的深入理解Routing章节,我们讲到了在MVC中,除了使用默认的ASP.NET 5的路由注册方式,还可以使用基于Attribute的特性(Route和HttpXXX系列方法)来定义。本章,我们将讲述一种基于Lambda表达式的强类型类型。这种方式的基本使用示例如下:```csharpservi... 阅读全文

解读ASP.NET 5 & MVC6系列(11):Routing路由

2015-05-26 09:07 by 汤姆大叔, 19954 阅读, 收藏, 编辑
摘要: #新版Routing功能介绍在ASP.NET 5和MVC6中,Routing功能被全部重写了,虽然用法有些类似,但和之前的Routing原理完全不太一样了,该Routing框架不仅可以支持MVC和Web API,还支持一般的ASP.NET5程序。新版的改变有如下几个部分。首先,Routing系统是基... 阅读全文

解读ASP.NET 5 & MVC6系列(10):Controller与Action

2015-05-25 09:11 by 汤姆大叔, 15602 阅读, 收藏, 编辑
摘要: 我们知道在MVC5和之前的版本,两个框架的生命周期是不一样的,在新版MVC6中,MVC Controller/Web API Controller已经合二为一了,本章我们主要讲解Controller和Action的定义与使用,以及在MVC框架中,如何根据路由查询相应的Controller和Actio... 阅读全文

解读ASP.NET 5 & MVC6系列(9):日志框架

2015-05-22 09:00 by 汤姆大叔, 19020 阅读, 收藏, 编辑
摘要: #框架介绍在之前的.NET中,微软还没有提供过像样的日志框架,目前能用的一些框架比如Log4Net、NLog、CommonLogging使用起来多多少少都有些费劲,和java的SLF4J根本无法相比。但在新版的ASP.NET5中,可谓是牛气冲天,微软提供的Microsoft.Framework.Lo... 阅读全文

解读ASP.NET 5 & MVC6系列(8):Session与Caching

2015-05-21 09:08 by 汤姆大叔, 24805 阅读, 收藏, 编辑
摘要: 在之前的版本中,Session存在于System.Web中,新版ASP.NET 5中由于不在依赖于System.Web.dll库了,所以相应的,Session也就成了ASP.NET 5中一个可配置的模块(middleware)了。#配置启用SessionASP.NET 5中的Session模块存在于... 阅读全文

解读ASP.NET 5 & MVC6系列(7):依赖注入

2015-05-20 09:10 by 汤姆大叔, 43450 阅读, 收藏, 编辑
摘要: 在前面的章节(Middleware章节)中,我们提到了依赖注入功能(Dependency Injection),ASP.NET 5正式将依赖注入进行了全功能的实现,以便开发人员能够开发更具弹性的组件程序,MVC6也利用了依赖注入的功能重新对Controller和View的服务注入功能进行了重新设计;... 阅读全文

解读ASP.NET 5 & MVC6系列(6):Middleware详解

2015-05-19 09:16 by 汤姆大叔, 16747 阅读, 收藏, 编辑
摘要: 在第1章项目结构分析中,我们提到`Startup.cs`作为整个程序的入口点,等同于传统的`Global.asax`文件,即:用于初始化系统级的信息(例如,MVC中的路由配置)。本章我们就来一一分析,在这里如何初始化这些系统级的信息。#新旧版本之间的Pipeline区别ASP.NET 5和之前版本的... 阅读全文

解读ASP.NET 5 & MVC6系列(5):Configuration配置信息管理

2015-05-18 07:44 by 汤姆大叔, 19112 阅读, 收藏, 编辑
摘要: 在前面的章节中,我们知道新版的MVC程序抛弃了原来的web.config文件机制,取而代替的是config.json,今天我们就来深入研究一下配置文件的相关内容。#基本用法新版的配置信息机制在Microsoft.Framework.ConfigurationModel命名空间下进行了重写,重写以后不... 阅读全文

解读ASP.NET 5 & MVC6系列(4):核心技术与环境配置

2015-05-17 19:21 by 汤姆大叔, 21546 阅读, 收藏, 编辑
摘要: asp.net 5是下一代的asp.net,该版本进行了全部重写以适用于跨平台,新新版本中,微软引入了如下工具与命令:DNVM、DNX、DNU。**DNVM**(.NET Version Manager):由于要实现跨平台的目录,微软提供了DNVM功能,DNVM是ASP.NET最底层的内容,他是一组... 阅读全文

解读ASP.NET 5 & MVC6系列(3):项目发布与部署

2015-05-15 09:14 by 汤姆大叔, 26852 阅读, 收藏, 编辑
摘要: 本章我们将讲解ASP.NET5项目发布部署相关的内容,示例项目以我们前一章创建的BookStore项目为例。#发布前的设置由于新版ASP.NET5支持多版本DNX运行环境的发布和部署,所以在部署之前,我们需要设定部署的目标DNX(即之前的KRE)。步骤:右键BookStore项目->属性->Appl... 阅读全文

解读ASP.NET 5 & MVC6系列(2):初识项目

2015-05-14 09:08 by 汤姆大叔, 37263 阅读, 收藏, 编辑
摘要: #初识项目打开VS2015,创建Web项目,选择ASP.NET Web Application,在弹出的窗口里选择ASP.NET 5 Website模板创建项目,图示如下:![](http://images.cnitblog.com/blog2015/349491/201505/1409071357... 阅读全文

解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介

2015-05-13 09:14 by 汤姆大叔, 53977 阅读, 收藏, 编辑
摘要: #ASP.NET 5简介ASP.NET 5是一个跨时代的改写,所有的功能和模块都进行了独立拆分,做到了彻底解耦。为了这些改写,微软也是蛮 拼的,几乎把.NET Framwrok全部改写了一遍,形成了一个.NET Core的东西。 在.NET Core里一切都是可配置的,包括Session、MVC等功... 阅读全文

解读ASP.NET 5 & MVC6系列

2015-05-13 07:37 by 汤姆大叔, 72256 阅读, 收藏, 编辑
摘要: 本系列的大部分内容来自于微软源码的阅读和网络,大部分测试代码都是基于VS RC版本进行测试的。[解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介][1][解读ASP.NET 5 & MVC6系列(2):初识项目][2][解读ASP.NET 5 & MVC6系列(3):项目发布与... 阅读全文

MVC之前的那点事儿系列(1):进入CLR

2014-05-28 13:12 by 汤姆大叔, 14644 阅读, 收藏, 编辑
摘要: MVC之前的那点事儿系列,是笔者在2012年初阅读MVC3源码的时候整理的,主要讲述的是从HTTP请求道进入MVCHandler之前的内容,包括了原创,翻译,转载,整理等各类型文章,当然也参考了博客园多位大牛的文章,对此表示感谢,这次有时间贴出来,希望对大家有用。主要内容本文讲解的是:服务器接受Ht... 阅读全文

大叔手记(18):利用Elmah和Google体验一把入侵的快感

2012-01-13 15:28 by 汤姆大叔, 14203 阅读, 收藏, 编辑
摘要: 介绍关于ELMAH,相信大家都不陌生了,最流行的错误日志记录组件,用过的人都知道其强大的威力,可以记录非常详细的错误信息供管理员和开发人员进行分析。Elmah配置起来也非常简单,但是同时也带来了一个问题:那就是如果配置不好的话,就会被入侵,而且入侵的方法非常非常简单,本文我讲演示一下,如何利用Elmah错误信息和Google搜索来入侵一个站点,同时本文也提供了正确的Elmah配置方法。原文整理自:http://www.troyhunt.com/2012/01/aspnet-session-hijacking-with-google.html注1:本人目的是让大家正确配置ELMAH,不是教大家入 阅读全文