【Asp.NET Web API 2系列(一):初识Web API及手动搭建基本框架】教程文章相关的互联网学习教程文章

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

本章我们将讲解ASP.NET5项目发布部署相关的内容,示例项目以我们前一章创建的BookStore项目为例。 发布前的设置 由于新版ASP.NET5支持多版本DNX运行环境的发布和部署,所以在部署之前,我们需要设定部署的目标DNX(即之前的KRE)。 步骤:右键BookStore项目->属性->Application选项卡,选择DNX的版本,本例中,选择dnx-coreclr-win-x64.1.0.0-beta4。 在project.json文件的commands节点,我们可以看到,系统默认配置了3个调试命令,...

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

在前面的章节(Middleware章节)中,我们提到了依赖注入功能(Dependency Injection),ASP.NET 5正式将依赖注入进行了全功能的实现,以便开发人员能够开发更具弹性的组件程序,MVC6也利用了依赖注入的功能重新对Controller和View的服务注入功能进行了重新设计;未来的依赖注入功能还可能提供更多的API,所有如果还没有开始接触依赖注入的话,就得好好学一下了。 在之前版本的依赖注入功能里,依赖注入的入口有MVC中的IControllerF...

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

在之前的版本中,Session存在于System.Web中,新版ASP.NET 5中由于不在依赖于System.Web.dll库了,所以相应的,Session也就成了ASP.NET 5中一个可配置的模块(middleware)了。 配置启用Session ASP.NET 5中的Session模块存在于Microsoft.AspNet.Session类库中,要启用Session,首先需要在project.json中的dependencies节点中添加如下内容: "Microsoft.AspNet.Session": "1.0.0-beta3"然后在ConfigureServices中添加Session的引用...

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

asp.net 5是下一代的asp.net,该版本进行了全部重写以适用于跨平台,新新版本中,微软引入了如下工具与命令:DNVM、DNX、DNU。 DNVM(.NET Version Manager):由于要实现跨平台的目录,微软提供了DNVM功能,DNVM是ASP.NET最底层的内容,他是一组Powershell脚本,用于启动指定版本的ASP.NET运行环境,并且可以在同一台机器的同一时间点上通过使用Nuget工具来管理各种版本的ASP.NET运行环境(DNX),以及进行相应的升级操作。 DNX(...

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

在前面的章节中,我们知道新版的MVC程序抛弃了原来的web.config文件机制,取而代替的是config.json,今天我们就来深入研究一下配置文件的相关内容。 基本用法 新版的配置信息机制在Microsoft.Framework.ConfigurationModel命名空间下进行了重写,重写以后不仅支持XML格式,还支持json、ini、环境变量等。在模板示例程序中Startup类的构造函数内如,有如下语句: // Setup configuration sources. Configuration = new Configuratio...

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

前面的深入理解Routing章节,我们讲到了在MVC中,除了使用默认的ASP.NET 5的路由注册方式,还可以使用基于Attribute的特性(Route和HttpXXX系列方法)来定义。本章,我们将讲述一种基于Lambda表达式的强类型类型。 这种方式的基本使用示例如下: services.Configure<MvcOptions>(opt => {opt.EnableTypedRouting();opt.GetRoute("homepage", c => c.Action<ProductsController>(x => x.Index()));opt.GetRoute("aboutpage/{name}",...

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

新版Routing功能介绍 在ASP.NET 5和MVC6中,Routing功能被全部重写了,虽然用法有些类似,但和之前的Routing原理完全不太一样了,该Routing框架不仅可以支持MVC和Web API,还支持一般的ASP.NET5程序。新版的改变有如下几个部分。 首先,Routing系统是基于ASP.NET 5的,是一个独立于MVC的路由框架,而不是基于MVC的。MVC只是在上面扩展了一个快捷方式而已。 其次,在ASP.NET 5中,MVC和Web API控制器没有区别了,即合二为一了。两者...

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

在新版的MVC6中,微软提供了强大的TagHelper功能,以便让我们摆脱如下的臃肿代码: @Html.LabelFor(model => model.FullName) @Html.EditFor(model => model.FullName) @Html.ValidationMessageFor(model => model.FullName)引入新功能TagHelper以后,我们只需要这样定义就可以了,代码如下: @addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers" /* 这里需要首先引用TagHelper所在的命名空间 */<label asp-for="FullName" class=...

ASP.NET MVC+EF框架+EasyUI实现权限管系列【图】

前言:本文开始我们便一步一步的来实现这个权限系统的初步设计-框架搭建,首先我要说的是我们需要开发工具Visual Studio 2012或者10也行,其次是我们要有SQL Server数据库,如果是Visual Studio 2010的话,你还要安装MVC4的开发文件,这个是吗?我不记得了,谁可以回答我一下的,我一直用2012,都是集成好的,所以不太清楚。因为这篇博客比较简单,只是建立一个简单的架构,所以我顺便进行一下MVC的知识补充,后面我也会这样穿插着...

Asp.Net网站优化系列之数据库的优化措施与索引优化方法

另外在sql server内存够用的情况下索引会被放到内存中,在内存中查找自然又会提高效率;所以我们必须得合理利用索引。 1)对什么列建索引 数据库默认情况下会对主键建聚集索引,除了这个索引之外还需要在哪些列上建索引呢?这个问题只能具体情况具体分析,要看需要优化的sql语句(通常是查询次数多,查询相应想要高的语句),根据什么列的条件进行查询。 例如:在论坛的数据库中有一张表是帖子回复表,在论坛的应用中用到最多的就是...

Asp.Net 网站优化系列之数据库优化分字诀上 分库

如果你有先见之明的话,会给表名,存储过程的名字加上前缀,例如论坛表命名为BBS_xxx,博客表命名为BLOG_xxx;这样的话在分表处理时会比较容易一些。说到这儿也许你会想到外键约束怎么办,我的博客表,论坛帖子表都有用了User表的主键做外键呀。这个很容易处理,我们需要当机立断的删掉外键,这个当机立断可能会带来一些麻烦,我们来分析下可能会遇到一些什么问题: 1. 分成多个库,没了外键了以前的inner join操作要跨库吗? 假定...

Asp.Net 网站优化系列之数据库优化措施 使用主从库(全)【图】

网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求;这时候我们可以考虑使用主从库。主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据的查询操作;从库负责查询较旧数据,做一些对实效性要求较小的分析,报表生成的工作。这样做将数据库的压力分担到两台服务器上从而保证整个系统响应的及时性。 SQL Server提供了复制机制来帮我们实现主从库的机制。我们...

Asp.Net 网站优化系列之数据库优化 分字诀 分表(纵向拆分,横向分区)

1. 纵向分表 纵向分表是指将一个有20列的表根据列拆分成两个表一个表10列一个表11列,这样单个表的容量就会减少很多,可以提高查询的性能,并在一定程度上减少锁行,锁表带来的性能损耗。 纵向分表的原则是什么呢,应该怎样拆分呢?答案是根据业务逻辑的需要来拆分,对于一张表如果业务上分两次访问某一张表其中一部分数据,那么就可以根据每次访问列的不同来做拆分; 另外还可以根据列更新的频率来拆分,例如某些列每天要更新3次,...

ASP.NET 控件开发系列之图片切换web控件【图】

贴出来控件页面的代码. PicList.ascx 代码如下:<%@ Control Language="C#" AutoEventWireup="true" CodeFile="PicList.ascx.cs" Inherits="WebParts_PicList" %> <style type="text/css"> /* Reset style */ * { margin: 0; padding: 0; word-break: break-all; } body { background: #fff; color: #000000; font: 12px/1.6em Helvetica, Arial, sans-serif; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-botto...

JavaScript系列之―同步还是异步?

从今天开始,我会不定期的写一些关于JavaScript的东西,包括语言,应用等方面。组成JavaScript系列。 如果没有特殊的说明,这里假定JavaScript的执行环境是在浏览器(browser)当中的。 今天开始第一次,讨论一下同步和异步。 曾经查询过一些JavaScript的信息,发现google出来的结果都是询问JavaScript如何能够实现异步的代码。 而我,很不幸,查询的却是如何让JavaScript实现异步调用的同步(是不是挺起来很诡异)。 首先说一下Ja...