滴答数必须介于DateTime.MinValue.Ticks和DateTime.MaxValue.Ticks

评论(0)浏览(561)分类:asp.net-mvc
滴答数必须介于DateTime.MinValue.Ticks和DateTime.MaxValue.Ticks  今天访问本地的asp.net程序时(所有asp.net程序),出现 加载配置文件时出错: 滴答数必须介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks的错误,然后也没有显示具体错误行,最下面显示asp.net默认系统配置文件F:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config 0行。  用记事本打开machine.config文件看里..

ASP.NET MVC路由实现原理-HttpHandler的动态映射

评论(0)浏览(375)分类:asp.net-mvc
ASP.NET MVC路由实现原理-HttpHandler的动态映射  一个请求最终通过一个具体的HttpHandler进行处理,而我们熟悉的用于 表示一个Web页面的Page对象就是一个HttpHandler,被用于处理基于某个.aspx文件的请求。我们可以通过HttpHandler的动态 映射来实现请求地址与物理文件路径之间的分离。实际上ASP.NET路由系统就是采用了这样的实现原理。如下图所示,ASP.NET路由系统通过一个注册 到当前应用..

使用javascript隐藏显示asp.net Validator控件

评论(0)浏览(304)分类:asp.net-mvc
使用javascript隐藏显示asp.net Validator控件  本文介绍如何使用javascript显示或者隐藏ASP.NET AJAX (AJAXControlToolkit) ValidatorCalloutExtender控件。 下面为示例代码%@ Page Language=C# AutoEventWireup=true CodeFile=Default.aspx.cs Inherits=_Default % %@ Register assembly=AjaxControlToolkit namespace=AjaxControlToolkit tagprefix=AJAXControls % !DOCTYPE html PUBLI..

ASP.NET MVC Razor介绍:View编译原理

评论(0)浏览(283)分类:asp.net-mvc
ASP.NET MVC Razor介绍:View编译原理  通过.cshtml或者.vbhtml文件定义的View能够被执行,必须先被编译 成存 在于某个程序集的类型,ASP.NET MVC采用动态编译的方式对View文件实施编译。当我们在对ASP.NET MVC进行部署的时候,需要对.cshtml或者.vbhtml文件进行打包。针对某个View的第一次访问会触发针对它的编译,一个View对应着一个 类型。我们可以对.cshtml或者.vbhtml进行修改..

ASP.NET MVC Razor介绍:RazorViewEngine

评论(0)浏览(267)分类:asp.net-mvc
ASP.NET MVC Razor介绍:RazorViewEngine  基于Web Form引擎的WebFormViewEngine和针对Razor引擎的RazorViewEngine都是抽象类型BuildManagerViewEngine的子类,而后者又继承自VirtualPathProviderViewEngine。 在这里我们仅仅对实现在RazorViewEngine中View获取的逻辑进行简单介绍。由于Razor引擎下的View通过RazorView对象来 表示,而RazorView通过View文件的虚拟路径来构建,所以Ra..

ASP.NET mvc路由映射

评论(0)浏览(221)分类:asp.net-mvc
ASP.NET mvc路由映射  通过RouteTable的静态属性Routes得到一个基于应用的全局路由表,通过上 面的介绍我们知道这是一个类型的RouteCollection的集合对象,我们可以通过调用它的MapPageRoute进行路由映射,即注册URL模 板与某个物理文件的匹配关系。路由注册的核心就是在全局路由表中添加一个Route对象,该对象的绝大部分属性都可以通过MapPageRoute方法的 相关参..

ASP.NET MVC异步Action定义和执行原理

评论(0)浏览(220)分类:asp.net-mvc
ASP.NET MVC异步Action定义和执行原理  Visual Studio提供的Controller创建向导默认为我们创建一个继承自抽象类Controller的Controller类型,这样的 Controller只能定义同步Action方法。如果我们需要定义异步Action方法,必须继承抽象类AsyncController。这篇问你讲 述两种不同的异步Action的定义方法和底层执行原理。一、基于线程池的请求处理  ASP.NET 通过线程池的机制处理并..

ASP.NET MVC Model验证-ValidationAttribute

评论(0)浏览(213)分类:asp.net-mvc
ASP.NET MVC Model验证-ValidationAttribute  通过前面的介绍我们知道ModelValidatorProviders的静态只读 Providers维护着一个全局的ModelValidatorProvider列表,最终用于Model验证的ModelValidator都是通过 这些ModelValidatorProvider来提供的。对于该列表默认包含的三种ModelValidatorProvider来 说,DataAnnotationsModelValidatorProvider无疑是最重要的,ASP.NET MVC默认提供的基..

ASP.NET MVC View呈现[设计篇]

评论(0)浏览(208)分类:asp.net-mvc
ASP.NET MVC View呈现[设计篇]  在前面的四篇文章中,介绍了各种ActionResult以及相关的请求响应机制, 但是与View的呈现相关的ActionResult是ViewResult。通过ViewResult的执行实现的对View的呈现比上面我们介绍 的各种ActionResult要复杂得多,ASP.NET MVC内部设计了一个扩展的View引擎实现了最终的View呈现工作。一、View引擎中的View  ASP.NET MVC为我们提供了两种Vi..

ASP.NET MVC客户端jQuery验证

评论(0)浏览(204)分类:asp.net-mvc
ASP.NET MVC客户端jQuery验证  之前我们一直讨论的Model验证仅限于服务端验证,即在Web服务器根据相应的规则对 请求数据实施验证。如果我们能够在客户端(浏览器)对用户输入的数据先进行验证,这样会减少针对服务器请求的频率,从而缓解Web服务器访问的压力。 ASP.MVC 2.0及其之前的版本采用ASP.NET Ajax进行客户端验证,在ASP.NET MVC 3.0中,jQuery验证框架被引入是我们..

ASP.NET MVC Razor介绍:IoC在View激活过程中的应用

评论(0)浏览(202)分类:asp.net-mvc
ASP.NET MVC Razor介绍:IoC在View激活过程中的应用  在《ASP.NET MVC Razor介绍:RazorView》 介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageActivator使用当前注册的 DependencyResolver来完成对目标View的激活,这意味着我们可以通过注册自定义DependencyResolver的方式实现基于 IoC的View激活。本篇文章中我们将演示如何通过自定义View的方式实现与IoC框架Ninject的集成。..

ASP.NET MVC View呈现[实例篇]

评论(0)浏览(199)分类:asp.net-mvc
ASP.NET MVC View呈现[实例篇]  在《ASP.NET MVC View呈现[设计篇]》篇中通过对View引擎的总体介绍讲述了从ViewResult的创建到View呈现的原理,为了让读者对View引擎及其View呈现机制具有一个深刻的认识,我们自定义一个简单的用于呈现静态HTML的StaticFileViewEngine。 在一个通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中,我们定义了如下一个针对于静态HTML..

IIS与ASP.NET管道

评论(0)浏览(197)分类:asp.net-mvc
IIS与ASP.NET管道  下面三篇详细介绍IIS架构和ASP.NET运行时管道的文章,深入介绍了IIS 5.x与IIS 6.0HTTP请求的监听与分发机制,以及ASP.NET运行时管道对HTTP请求的处理流程:IIS 和 ASP.NET ISAPIASP.NET Http Runtime Pipeline[上篇]ASP.NET Http Runtime Pipeline[下篇]  为了剖析基于IIS的WCF服务寄宿(Hosting),再次对相关内容进行了研究,在这里一并..

ASP.NET MVC Razor介绍:RazorView

评论(0)浏览(192)分类:asp.net-mvc
ASP.NET MVC Razor介绍:RazorView  Razor引擎具有两个核心的类型,一个是表示View本身的类型RazorView,另一个则是获取和创建它的RazorViewEngine,我们将用两篇文章对它们分别进行剖析。Razor引擎下的View通过类型RazorView表示,它与表示Web Form引擎View的类型WebFormView都是BuildManagerCompiledView的子类。一、BuildManagerCompiledView  为了能够清楚地说明实现在Bu..

ASP.NET MVC Model数组绑定

评论(0)浏览(180)分类:asp.net-mvc
ASP.NET MVC Model数组绑定  基于数组和集合类型的Model绑定机制比较类似,对于绑定参数类型或者参数类型的某个 属性为数组或者集合,如果ValueProvider根据对应的Key能够匹配多条数据,那么这些数据最终将会转换为绑定的数组/集合的元素。此外,针对 数组/集合的Model绑定还支持基于索引的方式。[源代码从这里下载]一、基于名称的数组绑定  对 于针对NameValueConlle..

ASP.NET MVC Model简单复杂类型绑定

评论(0)浏览(172)分类:asp.net-mvc
ASP.NET MVC Model简单复杂类型绑定  总的来说,针对目标Action方法参数的Model绑定完全由组件ModelBinder来实现,在默认情况下使用的ModelBinder类型为DefaultModelBinder,接下来我们将按照逐层深入的方式介绍实现在DefaultModelBinder的默认Model绑定机制。[源代码从这里下载]一、简单类型  对于旨在绑定目标Action方法参数值的Model来说,最简单的莫过于简单参数类型的情况..

ASP.NET MVC ActionFilter介绍

评论(0)浏览(170)分类:asp.net-mvc
ASP.NET MVC ActionFilter介绍  ASP.NET MVC中的四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以 执行一些额外的操作。这是一种典型的AOP式的设计,如果我们需要在执行某个Action方法的前后执行一些操作,可以通过定义ActionFilter 来实现。本篇文章主要讲述多一个应用到相同Action方法上的ActionFilter的执行..

ASP.NET MVC Model元数据

评论(0)浏览(168)分类:asp.net-mvc
ASP.NET MVC Model元数据  Contronoller激活之后,ASP.NET MVC会根据当前请求上下文得到目标Action的名称,然后解析出对应的方法并执行之。在整个Action方法的执行过程中,Model元数据的解析是 一个非常重要的环节。ASP.NET MVC中的Model实际上View Model,表示最终绑定到View上的数据,而Model元数据描述了Model的数据结构,以及Model的每个数据成员的一些特性。正是..

ASP.NET MVC Model多种验证规则

评论(0)浏览(163)分类:asp.net-mvc
ASP.NET MVC Model多种验证规则  对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也 就是对于同一个Model对象,在不同的使用场景中可能具有不同的验证规则。举个简单的例子,对于一个表示应聘者的数据对象来说,针对应聘的岗位不同,肯 定对应聘者的年龄、性别、专业技能等方面有不同的要求。但是ASP.NET MVC的Model验证确是Model驱动的,因为验证..

IIS 和 ASP.NET ISAPI

评论(0)浏览(159)分类:asp.net-mvc
IIS 和 ASP.NET ISAPI  ASP.NET 从最初的接收到Http request到最终生成Response的整个流程到底是怎样的?这个问题涉及到IIS和ASP.NETASP.NET Runtime的处理模型的问题。  这篇文章大体分为两个部分,第一部分谈IIS的两个不同的版本IIS 5.x 和 IIS 6(虽然IIS 7已经Release很长时间了,而且较之前两个版本发生了非常大的变化,由于本人缺乏对IIS 7深入的了解,所以..

ASP.NET MVC客户端自定义验证

评论(0)浏览(157)分类:asp.net-mvc
ASP.NET MVC客户端自定义验证  ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需 要将相应的ValidationAttribute应用到Model的类型或者属性上即可。对于自定义验证,我们也只需要定义相应的Validation 就可以了,不过服务端验证比较简单,而客户端验证就要稍微复杂一些,本文提供一个简单..

ASP.NET MVC通过URL路由多语言的支持

评论(0)浏览(150)分类:asp.net-mvc
ASP.NET MVC通过URL路由多语言的支持  对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面 呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎样的语言来显示界面的内容。 对于一个ASP.NET MVC应用来说,很容易通过URL路由来实现这样一个功能。  在具体介绍实现之前,我们通过一个..

ASP.NET MVC ActionResult本质:FileResult

评论(0)浏览(149)分类:asp.net-mvc
ASP.NET MVC ActionResult本质:FileResult  FileResult是 一个基于文件的ActionResult,利用FileResult我们可以很容易地将从某个物理文件的内容响应给客户端。ASP.NET MVC定义了三个具体的FileResult,分别是FileContentResult、FilePathResult和 FileStreamResult。在这篇文章中我们将探讨三种具体的FileResult是如何将文件内容对请求进行响应的。一、FileResult  如下面的代码片断..

asp.net mvc详解目录

评论(0)浏览(147)分类:asp.net-mvc
asp.net mvc详解目录一、ASP.NET + MVCIIS与ASP.NET管道MVC、MVP以及Model2[上篇]MVC、MVP以及Model2[下篇]建立在伪MVC框架上的Web应用asp.net mvc URL路由ASP.NET MVC Controller的激活ASP.NET MVC Action的执行二、URL 路由ASP.NET mvc URL与物理文件的分离ASP.NET mvc路由映射ASP.NET mvc路由规则生成URLASP.NET MVC路由扩展:路由映射ASP.NET MVC路由扩展:链接..

ASP.NET MVC ValueProvider值提供系统: NameValueCollectionValueProvider

评论(0)浏览(145)分类:asp.net-mvc
ASP.NET MVC ValueProvider值提供系统: NameValueCollectionValueProvider  在进行Model绑定过程中,需要根据基于Action方法参数的绑定上下文从请求数据 中提取相应的数据以提供相应的数据。具体来说,Model绑定的数据具有多个来源,可能来源于Post的表单或者JSON字符串,或者来源于当前的路由数 据,也可能来源于请求地址的插叙字符串。ASP.NET MVC将这种基于不同数据来源的数据获取/提供机制实现在一个叫做ValuePro..

ASP.NET mvc路由规则生成URL

评论(0)浏览(139)分类:asp.net-mvc
ASP.NET mvc路由规则生成URL  ASP.NET 的路由系统主要具有两个方面的应用,其一就是通过注册URL模板与物理文件路径的匹配实现请求地址和物理地址的分离;另一个则是通过注册的路由规测生成一 个相应的URL。后者通过调用RouteCollection类型的GetVirtualPath方法来实现。[源代码从这里下载]  如 下面的代码片断所示,GetVirtualPath定义了两个GetVirtualPath方法重载,它..

建立在“伪”MVC框架上的Web应用

评论(0)浏览(139)分类:asp.net-mvc
建立在“伪”MVC框架上的Web应用  ASP.NET由于采用了管道式设计,具有很好的扩展性,而整个ASP.NET MVC应用框架就是通过扩展ASP.NET实现的。通过上面对ASP.NET管道设计的介绍,我们知道ASP.NET的扩展点只要体现在 HttpMoudle和HttpHandler这两个核心组建之上,实际上整个ASP.NET MVC框架就是通过自定义的HttpMoudle(UrlRoutingModule)和HttpHandler(MvcHandler) 实现的。..

asp.net mvc URL路由

评论(0)浏览(133)分类:asp.net-mvc
asp.net mvc URL路由  在一个ASP.NET MVC应用来说,针对HTTP请求的处理和相应定义Controller类型的某个Action方法中,每个HTTP请求的目标对象不再像ASP .NET Web Form应用一样是一个物理文件,而是某个Controller的某个Action。目标Controller和Action的名称包含在HTTP请求 中,而ASP.NET MVC的首要任务就是通过当前HTTP请求的解析得到正确的Controller和Action的..

MVC、MVP以及Model2[下篇]

评论(0)浏览(132)分类:asp.net-mvc
MVC、MVP以及Model2[下篇]  MVC、MVP以及Model2[上篇]通过采用MVC模式,我们可以将可视化UI元素的呈现、UI处理逻辑和业务逻辑分别定义在View、Controller和Model中,但是对于三者之 间的交互,MVC并没有进行严格的限制。最为典型的就是允许View和Model绕开Controller进行直接交互,View不仅仅可以通过调用 Model获取需要呈现给用户的数据,Model也可以直接通知View让其..

ASP.NET MVC路由扩展:路由映射

评论(0)浏览(131)分类:asp.net-mvc
ASP.NET MVC路由扩展:路由映射  上周我写了三篇文章(ASP.NET mvc URL与物理文件的分离、ASP.NET mvc路由映射、ASP.NET mvc路由规则生成URL) 详细地介绍了ASP.NET的路由系统。ASP.NET的路由系统旨在通过注册URL模板与物理文件之间的映射进而实现请求地址与文件路径之间的分离,但 是对于ASP.NET MVC应用来说,请求的目标不再是一个具体的物理文件,而是定义在某个Controll..