ASP.NET由于采用了管道式设计,具有很好的扩展性,而整个ASP.NET MVC应用框架就是通过扩展ASP.NET实现的。通过上面对ASP.NET管道设计的介绍,我们知道ASP.NET的扩展点只要体现在HttpMoudle和HttpHandler这两个核心组建之上,实际上整个ASP.NET MVC框架就是通过自定义的HttpMoudle(UrlRoutingModule)和HttpHandler(MvcHandler)实现的。为了上读者从整体上把握ASP.NET MVC的工作机制,接下来我按照其原理通过一
一年前写了一篇短文ASP.NET MVC Action Filters,整理了Action Filter方面的资源,本篇文章详细的描述Action Filter。Action Filter作为一个可以应用到Controller Action(或者是整个controller)上的属性(Attribute),改变Action执行的行为,当应用于整个Controller上时,Controller上的所有Action都应用了同样设置的Action。 使用Action Filter 可以处理缓存、 验证和错误处理您的
Models和数据绑定在ASP.NET Core MVC中扮演着关键的角色,对于构建强大、灵活和可维护的Web应用程序至关重要。这一节我们就来讲一下。
本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。 由于个人技术水平和英文水平也是有限的,因此错误在所难免,希
ASP.NET MVC 系列文章 以下文章属于ASP.NET MVC 1.0 正式版 ASP.NET MVC雕虫小技 1-2 ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传 ASP.NET MVC 重点教程一周年版 第十回 请求Controller ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper ASP.NET MVC 重点教程一周年版 第八回 Helper之演化 用ASP.NET MVC自己管理自己的View:ASP.NET MVC File
一、ASP.NET + MVC IIS与ASP.NET管道 MVC、MVP以及Model2[上篇] MVC、MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller的激活 ASP.NET MVC是如何运行的[4]: Action的执行 二、URL 路由 ASP.NET的路由系统:URL与物理文件的分离
ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model类型及其属性上的ValidationAttribute才有效。如果我们能够将ValidationAttribut
当我们需要获取数据时,通常的做法是实例化依赖的类,然后调用类里面的方法,但是这种依赖方式会增加调用方和被调用方之间的耦合,也会增加应用程序维护成本及灵活性,同时增加了单元测试的难度
在看这篇Fun with Http Headers in ASP.NET MVC Action Filters的时候,提到了 Roni Schuetz在codeplex上创建的一个项目ASP.NET MVC Action Filters。计划在5月10日推出第一个版本。 项目计划包含的Action Filter: Action filter for creating easy REST API with JSON and XML Action filter for logging scenarios
ASP.NET请求验证功能可以给我提供应用程序的安全保证,避免站点受到XSS的攻击。但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候ASP.NET 2.0允许我们可以通过在web.config设置validateRequest=”false”。或者在MVC中,我们可以通过在Controller或者Action上设置[ValidateRequest(false)]这个特性来达到禁用的上的。但是在当你把站点从旧版本升级到ASP.NET 4.0后,你会发现,即使你这样做,仍然会提示你这样的一个异常“A potentially dangerous Request.Form value was detected from the client”。该如何来解决这个问题呢?
本篇代码以下代码进行调整:https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-02
1 ViewModel 是一种专门提供给View使用的模型,使用ViewModel的理由是实体或领域模型所包含的属性比View使用的多或少,这种情况下实体或领域模型不适合View使用。 2模型绑定 默认模型绑定器 通过DefaultModelBinder解析客户端传来的数据,为控制器的操作参数列表赋值。 显示模型绑定 使用UpdateModel和TryUpdateModel显示绑定模型,不会检验未绑定字段。 使用UpdateModel方法绑定模型时,如果绑定失败就会抛异常,而TryUpdateModel不会
在微软Tech Summit 2017 大会上和大家分享了一门课程《.NET Core 在腾讯财付通的企业级应用开发实践》,其中重点是基于ASP.NET Core打造可扩展的高性能企业级API网关,以开源的API网关Ocelot为基础结合自己的业务特性,当天课程只有40分钟,有很多内容都没有展开,接下来就用一篇小文章来聊下Ocelot 的实现原理,大家在使用的过程中也可以一起来贡献。 总体来说这是一个ASP.NET Core 高级编程的内容,之前在公众号里已经发过不少各位朋友写的文章,今天都会在这篇文章中引
我们现在大多数转向ASP.NET Core来使用开发的团队,应该都不是从0开始搭建系统,而是老的业务系统已经在运行,ASP.NET Core用来开发新模块。那么解决用户认证的问题,成为我们的第一个拦路虎。本文将给大家简单阐述一下认证与授权的基本概念,以及基于ASP.NET Core 中间件实现的认证和改造JwtBearer 认证中间件来实现的认证达到与老系统(主要是token-based认证)的集成。 目录 认证与授权 什么是认证 何谓授权 用Middleware拦截 定制JWT Bearer 认证 更
Tailspin Travel 是一个旅游预订的应用程序示例,最新版本采用ASP.NET MVC 2技术构建,主要使用 DataAnnotations 验证, 客户端验证和ViewModels,还展示了许多Visual Studio 2010, .NET Framework 4, 和Windows Server AppFabric的技术,参看ASP.NET MVC 2示例Tailspin Travel。 Tailspin Travel设计的技术比较多,今天我们来看看界面(UI)上的技术,在UI层上来说主要采
什么是REST REST 是 Representational State Transfer 的缩写. 它是一种架构的风格, 这种风格基于一套预定义的规则, 这些规则描述了网络资源是如何定义和寻址的.
Contronoller激活之后,ASP.NET MVC会根据当前请求上下文得到目标Action的名称,然后解析出对应的方法并执行之。在整个Action方法的执行过程中,Model元数据的解析是一个非常重要的环节。ASP.NET MVC中的Model实际上View Model,表示最终绑定到View上的数据,而Model元数据描述了Model的数据结构,以及Model的每个数据成员的一些特性。正是有了Model元数据的存在,才使模板化HTML的呈现机制成为可能。此外,Model元数据支撑了ASP.NET M
2.3.4 Web API -- MVC终结点 MVC与MVVM 模型绑定 自定义模型绑定器 模型验证 返回数据处理 MVC与MVVM MVC ASP.NET Core MVC 概述:https://
在之前的文章中,我为大家介绍了OWIN和Katana,有了对它们的基本了解后,才能更好的去学习ASP.NET Identity,因为它已经对OWIN 有了良好的集成。 在这篇文章中,我主要关注ASP.NET Identity的建立和使用,包括基础类的搭建和用户管理功能的实现—— 点此进行预览 点此下载示例代码 在后续文章中,我将探索它更高级的用法,比如身份验证并联合ASP.NET MVC 进行授权、使用第三方登录、声明式认证等。 ASP.NET Identity 前世今生 ASP.NET Me
数据标注(Data Annotation)是类或类成员添加上下文信息的一种方式,在 C# 通常用特性(Attribute)类来描述。它的用途主要可以分为下面这三类:
ASP.NET Core MVC 是使用“模型-视图-控制器”设计模式构建 Web 应用和 API 的丰富框架。 什么是 MVC 模式? 模型-视图-控制器 (MVC) 体系结构模式将应用程序分成 3
ASP.NET MVC 4 Beta 新功能特性: (1) ASP.NET Web API (2) 添加移动项目模板 (3) 对移动 app 特性的功能支持,JQuery Moblie,View Switcher and Browser Overriding (4) 提升自定义代码产生器 (5) 增强异步方法,异步产生器提供返回参数支持 Task 实例。 (6) 单页面应用程序的支持 (7) 增强默认模板功能。 (8) 更好的支持 Windows Azure SDK (9) 改进 Razo
Model验证是ASP.NET MVC中的重要部分,它主要用于判断输入的数据类型及值是否符合我们设定的规则,这篇文章就介绍下ASP.NET MVC中Model验证的几种方式。
Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的membership以及WebPage所带来的SimpleMembership(在MVC 4中使用)都有所不同。 Microsoft.AspNet.Identity是符合微软开放Owin标准里面Security标准的一种实现。且在MVC 5中默认使用EntityFramework作为Microsoft.AspNet.Identity的数据存储实现。 ASP.NET Ide
ComponentOne Studio for ASP.NET最新版本2013V1支持MVC4,其中包括: 新增 MVC 4 工程模板 (C# & VB) 开箱即用的MVC 4 工程模板基于Microsoft内置模板创建,我们仅优化了标记和CSS样式为默认风格,熟悉的模板布局和界面风格,无疑将缩短您的学习过程、节省开发时间及提高开发效率。 新增国际化主题(Metro) MVC4 模板自动增强MVC Scaffolding模板,将会为您应用程序中的增删改查(CRUD)操作生成默认的模板文件,这些生成的文件为
ASP.NET MVC中,所有的请求最终都会到达某个Controller中的某个Action并由该Action负责具体的处理和响应。为了能够正确处理请求,Action的参数(如果有的话),必须在Action执行之前,根据相应的规则,把请求中所包含的数据提取出来并将映射为Action的参数值,这个过程就是ModelBinding。ModelBinding的作用就是为Action提供参数列表。
位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据模型中的各个字段的验证。这些特性用于定义常见的验证模式,例如范围检查和必填字段。而 DataAnnotations 特性使 MVC 能够提供客户端和服务器验证检查,使你无需进行额外的编码来控制数据的有效。
在介绍用于自定义Model元数据属性的AdditionalMetadataAttribute特性时我们提到了它实现的接口IMedataAware,我们说这是一个非常重要并且有用的接口,通过自定义实现该接口的特性我们可以对最终生成的Model元数据进行自由地定制。如下面的代码片断所示,IMedataAware接口具有唯一的方法成员OnMetadataCreated。当Model元数据被创建出来后,会先获取上述的这一系列标注特性对其进行初始化,然后获取应用在目标元素上所有实现了IMedataAware接口的特性
近期,ActiveReports 产品开发组的小伙伴针对大家比较关注的报表功能、常见问题、经典实现,特意准备了一个Demo代码集合,涉及WinFormss \ ASP.NET \ MVC 多个技术平台,包含导出、打印、WebViewer、HTML5Viewer、自定义工具栏、自定义搜索等多个具体功能的实现。
Action方法的执行具有两种基本的形式,即同步执行和异步执行,而在ASP.NETMVC的整个体系中涉及到很多同步/异步的执行方式,虽然在前面相应的文章中已经对此作了相应的介绍,为了让读者对此有一个整
ASP.NET Core 中包含很多内置的中间件,我们不可能对每一个内置的中间件进行一一讲解,并且中间件的使用步骤大致一样,因此本文讲解几个常用的内置中间件以及使用中间件的步骤,希望读者们可以举一反三。
开篇:上一篇我们了解了一个ASP.Net页面请求的核心处理入口,它经历了三个重要的入口,分别是:ISAPIRuntime.ProcessRequest()、HttpRuntime.ProcessRequest()以及HttpApplication.Init()。其中,在HttpApplication的Init()方法中触发了请求处理管道事件的执行,本篇我们就来看看所谓的请求处理管道。
ASP.NET由于采用了管道式设计,所以具有很好的扩展性,整个ASP.NETMVC应用框架就是通过扩展ASP.NET实现的。通过上面对ASP.NET管道设计的介绍我们知道,ASP.NET的扩展点主要体现在 HttpModule和 HttpHandler这两个核心组件之上,整个ASP.NET MVC 框架就是通过自定义的 HttpModule和 HttpHandler建立起来的。 为了使读者能够从整体上把握ASP.NETMVC框架的工作机制,接下来我们按照其原理通过一些自定义组件来模拟ASP.NET MVC的运行原理,也可以将此视为一个“迷你版”的ASP.NET MVC。值得一提的是,为了让读者根据该实例从真正的ASP.NETMVC中找到对应的类型,本例完全采用了与ASP.NETMVC一致的类型命名方式。
这来自于我把项目迁移到Asp.Net Core的过程中碰到一个问题。在一个web程序中同时包含了MVC和WebAPI,现在需要给WebAPI部分单独添加一个接口验证过滤器IActionFilter,常规做法一般是写好过滤器后给需要的控制器挂上这个标签,高级点的做法是注册一个全局过滤器,这样可以避免每次手动添加同时代码也更好管理。注册全局过滤器的方式为:
不论是用于描述Controller的ControllerDescriptor,还是用于描述Action方法的ActionDescriptor,都具有同步和异步两个版本,那么这些不同类型的ControllerDescriptor的ActionDescriptor是在什么情况下创建的呢? 一、ControllerActionInvoker与AsyncControllerActionInvoker ControllerDescriptor的创建设计到一个重要的名为ActionInvoker的组件,顾名思义,Act
在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/blog/index.aspx的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据(其中的经过怎样的BLL到DAL这里就不谈了),然后再由index.aspx页面来呈现给用户。
简单整理了 ASP.NET Core 从1.0到5.0的变迁,不包括小版本, 内容主要来自 MS Docs。
为了支持以设计为中心的开发流程,EF4 还更多地支持以代码为中心 (code-centric) ,我们称为代码优先的开发,代码优先的开发支持更加优美的开发流程,它允许你: 在不使用设计器或者定义一个 XML 映射文件的情况下进行开发。 允许编写简单的模型对象POCO (plain old classes),而不需要基类。 通过"约定优于配置",使得数据库持久层不需要任何的配置 也可以覆盖"约定优于配置",通过流畅的 API 来完全定制持层的映射。 使用Code first这个模式后,你的项目中可以说就不再需
应用程序发生异常时,给用户一个友好的处理方式,同时将异常记录下来并通知系统管理员或是运维人员是应用的开发的常用场景。web form上微软提供了一个工具包,关于这个工具包参看推荐一个工具包自定义HTTP 404错误。如何在asp.net mvc上实现这样的功能呢?asp.net mvc 在创建项目的时候在Views的Shared目录下有一个错误处理页Error.aspx视图,这个默认的错误处理功能没有实现对错误日志的记录。 捕获所有的服务端异常包括HttpExeptions例如404错误,并且自定义错误处理
ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需要将相应的ValidationAttribute应用到Model的类型或者属性上即可。对于自定义验证,我们也只需要定义相应的Validation就可以了,不过服务端验证比较简单,而客户端验证就要稍微复杂一些,本文提供一个简单的实例说明在ASP.NET MVC中实现自定义验证的基本步骤。[源代码从这里下载] 一、AgeRangeAttribute 用
MVC经过其1.0和2.0版本的发展,现在已经到了3.0的领军时代,随着技术的不断改进,MVC也越来越成熟。使开发也变得简洁人性化艺术化。
我是后端开发人员, 前端的Angular部分讲的比较差一些, 可以直接看代码!!!!
在ASP.NET Model绑定系统中,用于提供数据值的ValueProvider对象通过ValueProviderFactory来创建。在ASP.NET MVC应用编程接口中,ValueProviderFactory继承自ValueProviderFactory类。本篇文章只要介绍基于ValueProviderFactory的ValueProvider的提供机制,以及如何通过自定义ValueProviderFactory实现我们需要的数据值的绑定方式。[本文已经同步到《How ASP.NET MVC Wo
领取专属 10元无门槛券
手把手带您无忧上云