Welcome 微信登录

首页 / 网页编程 / ASP.NET

浅析ASP.NET路由模型工作原理

浅析ASP.NET路由模型工作原理

ps:这是针对ASP.NET4.5版本的,好像在最新的5.0版本中加入了OWIN,彻底解耦了和Web服务器的耦合,我还没有研究过,不敢妄言4.5的模型适用5.0。action*0x1:大话ASP.NET模型首先我们先来了解下一个请求的悲欢离合的命运,看看它的一生中所走过的蜿蜒曲折的道路。如下图所示:在如上所示的风光旖旎的画卷中,我们可以看到一个“请求”从客户端浏览器出发,经历千山万水到达服务器,服务器的内核模块的HTTP.SYS热情款待了它,对它进行简单的...
asp.net MVC利用ActionFilterAttribute过滤关键字的方法

asp.net MVC利用ActionFilterAttribute过滤关键字的方法

本文实例讲述了asp.net MVC利用ActionFilterAttribute过滤关键字的方法。分享给大家供大家参考,具体如下:在开发过程中,有时候会对用户输入进行过滤,以便保证平台的安全性。屏蔽的方法有很多种,但是今天我说的这种主要是利用MVC中的ActionFilterAttribute属性来实现。由于MVC天然支持AOP,所以我们这种过滤方式正好利用了MVC的这种特性。下面请看步骤:首先,当用户输入自己的名称的时候,带有类似<BR>的...
asp.net MVC利用自定义ModelBinder过滤关键字的方法(附demo源码下载)

asp.net MVC利用自定义ModelBinder过滤关键字的方法(附demo源码下载)

本文实例讲述了MVC利用自定义ModelBinder过滤关键字的方法。分享给大家供大家参考,具体如下:前面一篇主要讲解了如何利用ActionFilter过滤关键字,这篇主要讲解如何利用自己打造的ModelBinder来过滤关键字。首先,我们还是利用上一篇《asp.net MVC利用ActionFilterAttribute过滤关键字的方法》中的实体类,但是我们需要加上DataType特性,以便于我们构造的ModelBinder通过DataTypeName识...
剖析ASP.NET MVC的DependencyResolver组件

剖析ASP.NET MVC的DependencyResolver组件

一、前言 DependencyResolver是MVC中一个重要的组件,从名字可以看出,它负责依赖对象的解析,可以说它是MVC框架内部使用的一个IOC容器。MVC内部很多对象的创建都是通过它完成的,或许我们平时没有直接用到它,但是如果你在使用unity、autofac,或者在看一些开源项目时,总会看到它的身影。接下来就让我们看一下这个组件是如何工作的。二、通过Controller的激活理解DependencyResolver的工作过程 这里先插一个题外...
请求如何进入ASP.NET MVC框架

请求如何进入ASP.NET MVC框架

一、前言 对于WebForm开发,请求通常是一个以.aspx结尾的url,对应一个物理文件,从代码的角度来说它其实是一个控件(Page)。而在MVC中,一个请求对应的是一个Controller里的Action。熟悉asp.net的朋友都知道,asp.net请求实际都是交给HttpHandler处理(实现了IHttpHandler的类型)。无论是.aspx,.ashx,.asmx 还是MVC里的Action,请求都会交给HttpHandler。具体是在管道...
ASP.NET中如何实现回调

ASP.NET中如何实现回调

一、引言在ASp.NET网页的默认模型中,用户通过单击按钮或其他操作的方式来提交页面,此时客户端将当前页面表单中的所有数据(包括一些自动生成的隐藏域)都提交到服务器端,服务器将重新实例化一个当前页面类的实例来响应这个请求,然后将整个页面的内容重新发送到客户端。这种处理方式对运行结果没什么影响,但页回发会导致处理开销,从而降低性能,且会让用户不得不等待处理并重新创建页,有时候,我们仅仅只需要传递部分数据而不需要提交整个表单,这种默认的处理方式(指的是提交整个...
.Net中的序列化和反序列化详解

.Net中的序列化和反序列化详解

序列化和反序列化相信大家都经常听到,也都会用, 然而有些人可能不知道:.net为什么要有这个东西以及.net Frameword如何为我们实现这样的机制, 在这里我也是简单谈谈我对序列化和反序列化的一些理解。一、什么序列化和反序列化序列化通俗地讲就是将一个对象转换成一个字节流的过程,这样就可以轻松保存在磁盘文件或数据库中。反序列化是序列化的逆过程,就是将一个字节流转换回原来的对象的过程。然而为什么需要序列化和反序列化这样的机制呢?这个问题也就涉及到序列化和...
Asp.net SignalR快速入门

Asp.net SignalR快速入门

今天的专题就是让大家可以快速的上手Asp.net SignalR。废话不多说了,下面正式进入今天专题的内容。二、Asp.net SignalR 是个什么东东 Asp.net SignalR是微软为实现实时通信的一个类库。一般情况下,SignalR会使用JavaScript的长轮询(long polling)的方式来实现客户端和服务器通信,随着Html5中WebSockets出现,SignalR也支持WebSockets通信。另外SignalR开发的程序不...
Asp.net使用SignalR实现酷炫端对端聊天功能

Asp.net使用SignalR实现酷炫端对端聊天功能

一、引言 在前一篇文章已经详细介绍了SignalR了,并且简单介绍它在Asp.net MVC 和WPF中的应用。在上篇博文介绍的都是群发消息的实现,然而,对于SignalR是为了实时聊天而生的,自然少了不像QQ一样的端对端的聊天了。本篇博文将介绍如何使用SignalR来实现类似QQ聊天的功能。二、使用SignalR实现端对端聊天的思路 在介绍具体实现之前,我先来介绍了使用SignalR实现端对端聊天的思路。相信大家在前篇文章已经看到过Clients.A...
ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法(附demo源码下载)

ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法(附demo源码下载)

本文实例讲述了ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法。分享给大家供大家参考,具体如下:ActionFilterAttribute是Action过滤类,该属于会在执行一个action之前先执行.而ActionFilterAttribute是 MVC的一个专门处理action过滤的类.基于这个原理 我们做一个权限限制例如:如何访问 HomeController 里的test actionusing System;...
ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法

ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法

ASP.NET Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率。但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们的开发效率,减少开发bug的出现。Razor 采用的是@尾巴符号,正是这个符号成就了MVC开发效率的提升。下面了解一下和@相关的两个可以重用的helper、functions。作为现代化的程序员,我们尽可能的遵守一个原则.不要重复你自己。所以能够重构的代码我们...
NopCommerce架构分析(一)Autofac依赖注入类生成容器

NopCommerce架构分析(一)Autofac依赖注入类生成容器

NopCommerce为了实现松耦合的框架设计目的,使用了IOC框架:Autofac。据有人测试,Autofac是性能很好的IOC工具。1、在IOC中,组件首先需要在IOC中注册,有通过配置文件注册的。像Spring.net,也有通过特性注册的,像StructureMap,也有通过代理来注册的,像Autofac。但是IOC讲究一个原则,就是接口和实现分离。所有IOC就是生命某个具体类实现了某个接口。然后在使用时,系统从IOC中获取接口的实现类,并创建对象。...
NopCommerce架构分析之(三)EntityFramework数据库初试化及数据操作

NopCommerce架构分析之(三)EntityFramework数据库初试化及数据操作

系统启动时执行任务:IStartupTask,启动时执行的任务主要是数据库的初始化和加载。IStartupTask调用IEfDataProvider进行数据库的初始化。IEfDataProvider,SqlCeDataProvider:获取数据连接工厂,不同类型数据库,连接工厂不同。接口IStartupTask的实体类EfStartUpTask的实现如下:public class EfStartUpTask : IStartupTask {public v...
NopCommerce架构分析之(四)基于路由实现灵活的插件机制

NopCommerce架构分析之(四)基于路由实现灵活的插件机制

NopCommerce支持灵活的插件机制,所谓Web系统插件,其实也就是可以像原系统的一部分一样使用。Web系统的使用方式就是客户端发送一个请求,服务端进行解析。在asp.net MVC中对客户请求的解析是通过路由的方式实现的。所谓路由就是在客户端发生请求时,对请求路径的解析过程。在Global.asax.cs中注册所有路由类://register custom routes (plugins, etc) var routePublisher = Engi...
NopCommerce架构分析之(五)Model绑定Action参数

NopCommerce架构分析之(五)Model绑定Action参数

asp.net MVC中Action参数不只是一些基本类型,也支持实体参数。那么从客户端传来的数据如何映射或转换成实体对象呢?就是通过实体绑定类ModelBinder。此系列类在请求转化为后台Controller的Action方法前,捕获传递过来的数据,并对其进行解析和转换,最终为实体类对象。在系统启动前,Global.asax.cs中的方法Application_Start方法调用下面代码定义参数转换规则。//model binders ModelBin...
NopCommerce架构分析之(七)主题Theme皮肤管理器

NopCommerce架构分析之(七)主题Theme皮肤管理器

IThemeContext:皮肤上下文,支持桌面皮肤和移动段皮肤。其实体类为:ThemeContext;IThemeProvider:皮肤提供者,其实体类为ThemeProvider;皮肤提供者从皮肤配置文件中解析配置项,加载系统提供的所有皮肤方案,系统默认提供桌面干净皮肤(~/Themes/DefaultClean)和移动端皮肤(~/Themes/Mobile)。ThemeConfiguration是对theme.config数据的解析对象。ITheme...
NopCommerce架构分析之(八)多语言支持

NopCommerce架构分析之(八)多语言支持

系统支持的语言是有类:Language表示;多语言资源对应的类为:LocalizedProperty;当先选择某种语言存储在类中:GenericAttribute;多语言可以导出为XML文件,当然也支持导出。IWorkContext及其实体类WebWorkContext为当前运行上下文;用户的登录信息以及一些上下文环境设置都保存在此类中。具体包括:当前用户信息:CurrentCustomer;当前用户Cookie;货币;语言;税的类型;供应商等;展现多语言...
ASP.NET中防止页面刷新造成表单重复提交执行两次操作

ASP.NET中防止页面刷新造成表单重复提交执行两次操作

之前看过别人防刷新的方法,是让页面刷新或返回上一步让页面过期,这里介绍一种另类的方法,使用Session来处理。实现原理:由于刷新提交表单,实际上提交的就是上一次正常提交的表单,所以我们只要做一个标志,判断出是新表单还是上一次的旧表单就可以分辨出是否进行了重复提交操作。实现方法:在页面上放置一个Hidden域,当页面第一次载入的时候,在Session里面保存一个标志,同时,把这个标志保存到页面上的Hidden里面。在提交表单时,判断表单中提交上来的Hidd...
ASP.NET MVC Bundles 用法和说明(打包javascript和css)

ASP.NET MVC Bundles 用法和说明(打包javascript和css)

在网页中,我们经常需要引用大量的javascript和css文件,在加上许多javascript库都包含debug版和经过压缩的release版(比如jquery),不仅麻烦还很容易引起混乱,所以ASP.NET MVC4引入了Bundles特性,使得我们可以方便的管理javascript和css文件。原来,我们引用css和javascript文件我们需要这样一个一个的引用:复制代码 代码如下:<scriptsrc="~/Scripts/jquery-...
<< 191 192 193 194 195 196 197 198 199 200 >>