ASP.NET MVC
文章平均质量分 84
feng1456
热爱技术,勤于学习,乐于分享!
展开
-
SignalR 学习 - 入门
SignalR是一个提供给ASP.NET开发者的库,帮助开发者简化向Web应用中加入实时消息处理功能的过程。实时web功能指的是服务端能够主动推送内容到客户端,而不是客户端发起请求,然后响应客户端的请求。 SignalR能够被运用在任何一种使用了web实时处理功能中的Web应用中。比如我们通常见到的聊天,你能够做更多的事情(不太明白什么意思),传统的模式下用户需要通过刷新页面来查看原创 2015-01-27 09:28:50 · 1057 阅读 · 0 评论 -
ABP-Enterprise Web Application Architecture
ABP 是一个融合了ASP.NET技术体系的企业web应用开发框架,主要有ASP.NET MVC / Web API 2.0 / EF 等等,并且支持IOC/多语言等特性。ABP的官网网址:http://aspnetboilerplate.com/从ABP的官网,我们可以看出ABP的目标就是模版、架构和框架,注意,不是关注在类库级别。核心价值就是给企业应用开发提供合适的框架,架构等原创 2015-06-24 13:55:42 · 1132 阅读 · 0 评论 -
ASP.NET MVC AOP-Filter
软件开发模式从面向过程(POP)发展到面向对象(OOP)之后,软件模块之间的组织方式发生了很多变化,衍生出了很多可插拔的模块化组件,给软件的灵活架构方面带来了丰富多彩的内容。面相对象的思维方式可谓功不可没,在日趋复杂的应用系统中,有很多基本的业务逻辑,跟具体的业务关系很小,甚至没有关系,比如日志,参数校验,权限,等等各种常规功能,这时候我们就需要面相切面编程-AOPASP.NET MVC 在控原创 2015-06-06 22:08:06 · 1192 阅读 · 0 评论 -
ASP.NET MVC DropdownList 使用
ASP.NET MVC 使用Html Helper的形式实现UI控件,里面有一个非常重要的下拉列表控件-DropdownList。这个控件使用还是比较灵活的,今天总结了一下。1.View@using (Html.BeginForm("DropDownValue", "Home")){ @Html.DropDownList("list", ViewBag.List as Selec原创 2015-06-08 16:32:44 · 1804 阅读 · 0 评论 -
ASP.NET MVC Jquery AutoComplete
Jquery 有一个非常经典好用的插件-AutoComplete,顾名思义就是自动补全。原创 2015-06-09 14:39:03 · 994 阅读 · 0 评论 -
ASP NET MVC OutputCache
ASP.NET MVC 提供了一个Filter来实现缓存,如果这个Attribute在方法上,当前方法的输出会被缓存起来,如果Attribute在Controller上,控制器中所有的方法的输出都会被缓存起来。这里的缓存可以设置过期时间,并且可以设置输出策略等等。1.OutputCache 简单Demo[OutputCache(Duration = 60)]public ActionRe原创 2015-06-10 09:56:32 · 1604 阅读 · 0 评论 -
ASP.NET MVC 基于页面的权限管理
ASP.NET MVC 中运用AOP的思想(Filter)来实现页面级别的权限。原创 2015-07-06 23:04:10 · 6630 阅读 · 0 评论 -
ASP.NET Auto Deployment with MSBuild
通常项目代码迁入后,需要手动发布到本地目录,然后拷贝到web服务器上的IIS站点的物理路径下,替换原来的文件,并重启IIS.使用MSBuild可以在命令行下实现编译和发布项目,Demo如下:cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319msbuild E:\VS2013Project\WebDemo\WebDemo\WebDemo.c原创 2015-09-02 22:14:59 · 824 阅读 · 0 评论 -
Web.config 加密及解密
Web应用通常使用web.config存储数据库连接信息及应用的一些基础配置信息。为了安全性,我们采用一些加密手段来加密一些敏感信息,比如数据库连接字符串。.NET 自带了一个aspnet_regiis的程序,可以帮助我们实现对web.config的加密和解密。1.加密1)导航到aspnet_regiis.exe目录下cd C:\Windows\Microsoft.NET\Fram原创 2015-09-01 22:04:46 · 6742 阅读 · 2 评论 -
ASP.NET Form Authentication - Form Authentication With Directory
1.背景之前写过一篇关于ASP.NET Form认证与授权相关的博客,介绍了Form认证的基本原理,演示了如果做Form认证。这种认证方式其实是有很大的局限性的:1)对于企业应用,不需要授权即可访问的页面,这种认证方式不支持。2)对于互联网的应用,通常都是先浏览,然后在需要授权的时候再登录,这种方式不支持。2.解决方案为了很好地解决这个问题,我们可以把必须要登录才能访问的页面放原创 2015-09-10 16:06:09 · 748 阅读 · 0 评论 -
ASP.NET Form Authentication - Membership Authentication
1.简介在 ASP.NET 应用程序中,Membership 类用于验证用户凭据并管理用户设置(如密码和电子邮件地址),提供用户及角色管理功能。Membership 类可以独自使用,或者与 Forms Authentication 一起使用,以创建一个完整的 Web 应用程序或网站的用户身份验证系统。2.使用Membership 类提供的功能可用于: 1)创建新用户。2)将成员原创 2015-09-11 14:03:06 · 1070 阅读 · 0 评论 -
ASP.NET Authentication - Form Authentication
1.概念ASP.NET的应用最开始是部署在企业内部,登录之后才能访问。如果用户直接访问非登录页,网站会先校验用户是否已登录,如果答案是否,网站认为当前的访问是未经授权的,网站立即跳转到登录页,登录之后跳转到之前访问的页面。这种以登录表单作为认证的方式就是表单认证(Form Authentication)表单认证是最简单的认证方式,优点是配置十分简单,缺点是所有的页面(除登录页)必须经过原创 2015-09-08 16:27:37 · 1402 阅读 · 0 评论 -
OWIN - Open Web Interface for .NET
1.什么是 OWINOWIN 的全称是 "Open Web Interface for .NET", OWIN 在 .NET Web 服务器和 .NET Web 应用之间定义了一套标准的接口, 其目的是为了实现服务器与应用之间的解耦, 鼓励为 .NET Web 应用开发简单模块。官方解释:OWIN defines a standard interface between .NET we原创 2015-10-16 12:20:03 · 1503 阅读 · 0 评论 -
ASP.NET MVC Ajax 请求安全
1.前言ASP.NET MVC 应用通过使用AJAX请求来提升用户体验。AJAX请求不会刷新整个页面,用户几乎感知不到请求的发送和处理过程,正是这样,AJAX请求的安全性就十分重要了,如果有人伪造了请求,就很容易对应用进行攻击,从而泄露核心数据,导致安全问题。2.解决方案如何确保AJAX请求没有被伪造呢?解决办法就是在AJAX请求发起时传递给后台一个字符串,然后在Filter中进行校验原创 2015-10-19 00:23:16 · 2256 阅读 · 0 评论 -
Introduction of ASP.NET Webhooks
We are very pleased to announce ASP.NET WebHooks preview as a new addition to the ASP.NET family. WebHooks is a lightweight HTTP pattern providing a simple pub/sub model for wiring together Web APIs转载 2015-10-19 09:15:33 · 865 阅读 · 0 评论 -
ASP.NET MVC Controller的激活机制
ASP.NET MVC 从最初的版本到现在,已经不断地完善,发展成为一个非常成熟的、设计优良的Web框架。从剖析ASP.NET MVC的一些设计及机制能够加深我们对于MVC模式的理解,帮助我们更好地扩展ASP.NET MVC框架,甚至使用设计思想,设计其他的软件架构。1.概要ASP.NET MVC 与传统的ASP.NET最大的区别在于,用户通过浏览器发起的请求不再是直接访问某个物理文件,而原创 2015-10-10 13:57:35 · 687 阅读 · 0 评论 -
An Overview of Project Katana
The ASP.NET Framework has been around for over ten years, and the platform has enabled the development of countless Web sites and services. As Web application development strategies have evolved, th转载 2015-10-11 11:00:47 · 746 阅读 · 0 评论 -
使用SignalR开发一个数据广播的应用程序
ASP.NET SignalR 是实时应用(RealTime Application)的具体技术。蒋金楠说学习一个技术之前,最好思考一下为什么这个技术会出现。我个人觉得现在互联网盛行,很多的互联网应用对实时性要求很高,比如股票交易,秒杀、限时抢购等等,都需要实时的网络技术的支持。这些技术的基础其实还是TCP/IP协议,由于TCP/IP协议是无状态的协议,所以就需要使用一种长轮询的机制来处理请求。原创 2015-06-06 17:08:32 · 1169 阅读 · 0 评论 -
AspNetMvc 防止重复提交
表单提交时需要校验数据是否已存在,如果已存在需要防止重复提交,做法比较简单,不再赘述。1.Employee类public class Employee{ public int Id { set; get; } [StringLength(10,MinimumLength=10)] public string Name { set; get原创 2015-05-21 16:30:54 · 1963 阅读 · 0 评论 -
AspNetMvc 服务端验证
由于比较简单,话不多说,直接上菜!1.Employee类public class Employee{ public int Id { set; get; } [StringLength(10,MinimumLength=10)] public string Name { set; get; } [RegularExpre原创 2015-05-21 16:23:55 · 761 阅读 · 0 评论 -
SignalR 学习 -HelloWorld
SignalR 是ASP.NET下实时推送的框架,今天用这个写了一个HelloWorld的东西,记录一下!1.添加SignalR库到项目中;2.创建一个hub类来推送消息内容到客户端;3.创建一个 OWIN startup类来配置应用;4.在页面上使用SignalR Jquery 库来推送消息和展示接收到的消息;应用效果:这两个浏览器模仿两个用户,一个用户发原创 2015-01-27 15:11:06 · 1155 阅读 · 0 评论 -
[ASP.NET MVC 5 - 04] 控制器与模型及视图的交互
控制器负责从模型中获取数据,然后传递给View进行展示,上一个章节我们讲到,使用EF之后,每一个实体类有一个DBContext类与之对应,这个类负责获取数据等工作,这时候,我们可以在Controller里面使用这个DBContext了,使用方式如下:public class MoviesController : Controller{ private MovieDBContext d原创 2015-01-14 14:55:29 · 1490 阅读 · 0 评论 -
[ASP.NET MVC5 - 03] Entity FrameWork and Model
ASP.NET MVC5 的模型指的是实体类。实体类默认对应着数据库的表。数据库表的每一条记录,原则上可以映射成若干个类的对象实例。在应用程序运行过程中,可能有新的实例生成,需要转换为数据库的记录插入到数据库中,也可能需要删除对象,当然也有可能需要更新对象的属性值。这些操作的结果就是对象的属性值或者对象本身发生了变化,需要将这种变化同步到数据库里面去。从MVC的角度来说,V是视图,肯定不可能来解决原创 2015-01-14 14:15:36 · 762 阅读 · 0 评论 -
ASP.NET Web API2 Introduction
应用程序通信一直是架构设计方面的终点,微软从DCOM到.NET Remoting,再到WCF,一致致力于提供统一,规范的通信编程模式。WCF作为重量级的通信框架,一时间成为了SOA和WebService的代名词。在非Web应用领域,WCF的地位无可撼动,SOA包括的内容很大,单纯一个WCF就代表了SOA的说法站不住脚,即使是在微软的技术体系内。进入了web时代,移动大行其道。WCF的劣势慢慢显现出原创 2015-01-16 14:32:51 · 945 阅读 · 0 评论 -
ASP.NET MVC 的表单提交
ASP.NET MVC 开发过程中,我们经常要提交表单数据到后台进行处理。今天就把常见的开发过程中用到的一些数据(表单)提交的方式做一个总结,方便自己今后查阅,如果对大家有益,那就更好了,总结得不好请大家给我留言指正。 首先我们说说不使用ASP.NET MVC 的一些特性,也不使用Jquery的Ajax做最简单的表单提交。这种表单提交只使用了HTML标签,使用html表单form的原创 2014-12-13 09:58:22 · 13049 阅读 · 1 评论 -
ASP.NET MVC 视图与模型绑定
在ASP.NET MVC 中视图与模型是可以直接绑定的,这样就绕过了Controller。这种应用场景主要是做信息的提交,比如用户的注册,订单的提交等等。在蒋金楠的《ASP.NET MVC 5框架揭秘》中,他提出MVC视图与模型直接绑定容易带来“混乱”,建议在开发过程中对视图,模型及控制器的交互做好约定,或者使用MVP模式。MVP模式杜绝了视图与模型的直接交互,从根本上解决这个问题。今天我写了一个原创 2014-12-13 07:43:26 · 4461 阅读 · 0 评论 -
ASP.NET 应用程序生命周期(ASP.NET Application Life Cycle)
接触ASP.NET 已经很久了,“所见即所得”的开发方式吸引了很多人,让很多多年从事ASP.NET开发的开发人员对于ASP.NET的认识还停留在“拖控件”的状态。有一句话说得好,优秀的程序员绝对不会说:“这个程序可以很好地运行,但是我却不知道他怎么运行的。”乐于并善于探究现象背后的本质应该就是码农和工程师之间的区别吧?本着这种精神,最近我深入学习了下ASP.NET Application 的生命周原创 2014-12-31 22:09:28 · 1305 阅读 · 0 评论 -
剖析ASP.NET WebAPI 转化 ActionResult 为 HttpResponse的机制
众所周知,ASP.NET MVC 通过Action接收用户请求,返回的是ActionResult.ActionResult包含很多种类,这里我搜集了一些常见类型的ActionResult及其相关的描述,见下表格,这里需要指出的是ActionResult也是有类的继承体系的,并不是单一的类,稍后会给出ActionResult的继承体系图。 如上所述,众多ActionResult原创 2015-01-21 13:26:00 · 6908 阅读 · 0 评论 -
ASP.NET MVC table 样式
ASP.NET MVC 可以将视图绑定数据,非常方便地做数据展现。具体做法是在控制器中获取数据,然后采用Return View(data)的方式将数据发送到视图,在视图中使用@model IEnumerable的形式来获取数据,在数据展现时,我们使用@foreaach的方式,具体如下:1.控制器public ActionResult Index(){ return View(Em原创 2015-03-06 03:25:38 · 1837 阅读 · 0 评论 -
ASP.NET MVC PageList 分页
ASP.NET MVC 有一个分页控件-PageList,能够很好地实现分页效果。1.Model public class VirtualMachine { public int Id { set; get; } public string HostName { set; get; } public string IPAdd原创 2015-03-06 12:26:59 · 3037 阅读 · 0 评论 -
ASP.NET MVC3 查询解决方案
ASP.NET MVC 使用视图与模型绑定的方式,查询是常用的需求,今天总结了三种解决方案!1.实体public class Employee { public string EmployeeId { set; get; } public string EmployeeName { set; get; } public strin原创 2015-03-07 12:49:02 · 616 阅读 · 0 评论 -
KnockOutJs - Web版的WPF
从人类不断进化的历程中,我们可以总结出一个规律,那就是分工越来越细。每个人的精力有限,关注的点越集中就能够把一件事情做到极致。程序最开始的时候是面向过程的,后来发现职责不明确,于是一步一步演化成了面向对象。ASP是数据与界面混杂的,ASP.NET 就划分了前后端,但是还不够好,因为处理逻辑不集中,耦合性太改,不便于测试。WPF之所以能取代原来的winform,有人说WPF能够做很多漂亮的界面,这只原创 2015-03-29 13:25:34 · 861 阅读 · 0 评论 -
IE下的AJAX缓存问题
前天帮一个学弟看一个问题:在后台方法设置断点,不清空IE缓存的时候,无法走到断点处,于是得出结论是IE缓存的问题.于是提出了通过IE的自动清除缓存功能可以解决这个问题的结论,在这么做了之后问题依然没有得到解决,当时一怒之下让学弟改用谷歌浏览器,果然问题就消失了!然后,然后就是痛骂IE。 冷静之后想想,我们之前也用IE开发,但是并没有遇到这种问题,在仔细思考一番之后发现,事情可能没有原创 2015-03-31 05:23:14 · 1188 阅读 · 0 评论 -
asp.net vNext introduction
微软宣布ASP.NET MVC 的下一代产品名称:ASP.NET vNext,微软也为ASP.NET vNext确定了方向-开源!我们必须要了解ASP.NET vNext的十大特性:1.为了更好地开发基于云端的应用,ASP.NET vNext 已经被从底层进行了优化;2.ASP.NET Web API和vnext结合MVC,Web Page为一个框架,现在确定为MVC 6,它使用抽原创 2015-04-06 08:22:43 · 600 阅读 · 0 评论 -
GET/POST/PUT/DELETE 状态码
GET - 获取表示- 变更时获取表示(缓存)200(OK) - 表示已在响应中发出204(无内容) - 资源有空表示301(Moved Permanently) - 资源的URI已被更新303(See Other) - 其他(如,负载均衡)304(not modified)- 资源未更改(缓存)400 (bad request)- 指代坏请求(如,参数错误)4原创 2015-04-14 11:18:28 · 4602 阅读 · 0 评论 -
HttpClient 调用WebApi
public class HttpClientHelper{ public static string GetResponseJson(string url) { HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Ac原创 2015-04-14 13:04:45 · 4501 阅读 · 0 评论 -
ASP.NET Identity Authentication
ASP.NET 认证与授权机制从基本的Form认证到后来的Membership认证,为ASP.NET应用构建了一个关于认证与授权的解决方案,开发者可以方便快捷地使用这个框架去解决应用认证与授权的问题.Memership解决的是应用的角色,用户及角色与用户的关联的问题,随着ASP.NET的深入发展,OWN产生了。OWIN的基本思想是提供一种标准化的WEB通信的接口,将ASP.NET的一些基本组件(比原创 2015-11-02 13:45:06 · 2789 阅读 · 0 评论