在ASP.NET MVC应用编程接口中,服务于Model绑定的参数元数据通过ParameterDescriptor类型来表示,而ActionDescriptor的GetParameters方法返回的就是一个... Include { get; } 6: public virtual ICollection Exclude { get; } 7: public...和Exclude表示显示设置的参与/不参与绑定的属性名称列表。...ASP.NET MVC三个重要的描述对象:ControllerDescriptor ASP.NET MVC三个重要的描述对象:ActionDescriptor ASP.NET MVC三个重要的描述对象...:ControllerDescriptor与ActionDescriptor的创建机制 ASP.NET MVC三个重要的描述对象:ParameterDescriptor
[本文已经同步到《How ASP.NET MVC Works?》...System.Web.Mvc.HttpGetAttribute System.Web.Mvc.HttpPostAttribute System.Web.Mvc.HttpPutAttribute System.Web.Mvc.HttpDeleteAttribute...顺便提一下,通过字符串指定的HTTP方式是不区分大小写的;实际上述的四个ActionMethodSelectorAttribute在内部使用了AcceptVerbsAttribute特性实现了具体的Action...ASP.NET MVC三个重要的描述对象:ControllerDescriptor ASP.NET MVC三个重要的描述对象:ActionDescriptor ASP.NET MVC三个重要的描述对象...:ControllerDescriptor与ActionDescriptor的创建机制 ASP.NET MVC三个重要的描述对象:ParameterDescriptor
和 ASP.NET MVC 等框架中使用。...例如,在 ASP.NET MVC 中,Razor 引擎会根据 Model 属性的 DataType 特性动态生成不同类型的表单元素。...数据标注用来验证数据的合法性是最常见的用法,在 ASP.NET Core/Mvc 中,数据作为表单 Model 提交时,框架会对 Model 数据自动进行校验,也可以手动调用 ModelState.IsValid...手动执行数据校验 大多数时候,数据校验都是由框架(如 ASP.NET Core)帮我们做了,但有时候我们想手动执行校验数据怎么做呢?简单说,使用 Validator 类即可,但也不是想像的那么直接。...vc, results, true); 也可以只校验对象的指定属性: ValidationContext vc = new ValidationContext(objectToValidate); ICollection
RedirectToRouteResult RedirectToAction/RedirectToRoute 重定向到指定的路由 ViewResult View 指定视图 EmptyResult 无 不返回任何内容...ViewDataDictionary ViewData { get; set; } public class ViewDataDictionary : IDictionary, ICollection...TempDataDictionary TempData { get; set; } public class TempDataDictionary : IDictionary, ICollection...ASP.NET MVC4 Web编程 2.Jon Galloway/Phil Haack/Brad Wilson/K....Scott Allen,孙远帅/邹权译 ASP.NET MVC4 高级编程(第四版) 3.黄保翕,ASP.NET MVC4开发指南 4.蒋金楠,ASP.NET MVC4框架揭秘 5.https://www.asp.net
开始使用 使用Wijmo制作MVC5应用程序,首先要做的是安装Wijmo 。...ASP.NET MVC 5 - 开始MVC 5之旅 2. ASP.NET MVC 5 - 控制器 3. ASP.NET MVC 5 - 视图 4. ...ASP.NET MVC 5 - 将数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6. ...ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB 7. ASP.NET MVC 5 - 从控制器访问数据模型 8. ...ASP.NET MVC 5 - 使用Wijmo MVC 5模板1分钟创建应用 希望这些文章对感兴趣的朋友有所帮助,另附上PDF版的汇总文档: 《ASP.NET MVC 5 入门指南》PDF版
三、EF中的延迟加载与即时加载 3.1 浅谈延迟加载 所谓延迟加载,就是只有在我们需要数据的时候才去数据库读取加载它。 ...与延迟加载相对应,在开发中如果使用ToList()方法,EF会根据方法中的条件自动生成SQL语句,然后立即与数据库进行交互获取查询结果,并加载到内存中去。 ...3.3 使用Include提高查询效率 前面我们看到了延迟加载在EF中被广泛应用,但是延迟加载对于外键的加载也存在不足:那就是每次调用外键实体都会去查数据库。 ...参考资料 (1)陈少鑫,《EF贪婪加载与延迟加载的选择和使用》:http://www.cnblogs.com/chenshao/p/4169210.html (2)强子,《解析ASP.NET MVC开发方式之...EF延迟加载》:http://www.cnblogs.com/qq731109249/p/3502874.html (3)Liam Wang,《ASP.NET MVC小牛之路:使用EF》:http://
虽然使用MVC已经不少年,相关技术的学习进行了多次,但是很多技术思路的理解其实都不够深入。...由于是概述,所以内容涉及知识点会很多,但不会很深入,就让我们来对MVC框架有个基本的认识吧,一些不太有特色的知识点不介绍了哈。...过去ASP.NET开发使用的是WebForm,其利用拖放服务器控件,有用的状态(semi-magical statefulness)来处理后台的复杂事务,大家应该都有被ViewState(将表单体进行base64...此外IIS7.0将IIS管道和ASP.NET管道有机的整合在了一起,允许本地代码和托管代码两种方式定义IIS Module,形成一个通用管道,例如可以将Form认证应用到静态文件的请求上等。...ASP.NET MVC4框架揭秘[M]. 上海:电子工业出版社, 2012.
开始使用 使用ComponentOne Studio for ASP.NET制作MVC4应用程序,首先要做的是安装Studio for ASP.NET。...测试环境 VS2012、MVC4、Framework4.5、IE10、Studio for ASP.NET 2013V1 文件-新建项目 在安装了Studio for ASP.NET 2013V1 之后...添加模型 下面,让我们使用MVC Scaffolding模板创建一个简易的“ToDoList”。首先我们来添加模型。...DoneAt { get; set; } public ICollection TahDoItems { get; set; } } public...所以如果使用日期或数值等类型时,Scaffolding模板会自动生成编辑器。下面自定义编辑器视图截图: ? 现在我们就完成了具有增删改查功能的MVC4应用程序。
第 3 章 使用 ASP.NET Core 开发微服务 微服务定义 微服务是一个支持特定业务场景的独立部署单元。它借助语义化版本管理、定义良好的 API 与其他后端服务交互。...遵循语义化版本规则能让团队在完善 API 的同时,不破坏已有消费方使用的 API。 作为微服务生态系统成功的基石,坚持好 API 优先的这些实践,远比开发服务所用的技术或代码更重要。...using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Mvc...接下来创建一个接口表示仓储,并重构控制器来使用它。...,而 ASP.NET Core 则会把仓储实例添加到所有依赖它的控制器里。
其中一位园友提到了说可以使用MVC的ModelState,因为之前通常都在Web项目中用没在Api项目用过,想想Api方法接收的多参数都封装成了一个实体类,独立于数据Model层,这样其实很方便用ModelState...认识ModelState 我们都知道在MVC中使用ModelState实现表单验证非常简单,借助jquery.validate.unobtrusive这个插件就能轻松的在页面上输出错误信息,详细的介绍可以参考这篇文章...《[Asp.net MVC]Asp.net MVC5系列--在模型中添加验证规则》。... Keys { get; } public ICollection Values { get; } 那这里的Keys装的就是被验证的Model的属性啦,Values...当然了,这个Attribute我指定了使用范围包含Class,直接打在Controller上面也是阔以滴~这样就不用每个Action都写了。
HttpContext.Items["key"]; 1.2用户域内的缓存:HttpContext.Session 类型: HttpContext.Session的类型为HttpSessionStateBase,这个类继承自ICollection...HttpContext.Cache 类型: HttpContext.Application类型为HttpApplicationStateBase,此类继承自NameObjectCollectionBase, ICollection...这两种过期策略不能同时使用。...ASP.NET MVC 不支持甜甜圈缓存,使用MvcDonutCachingNuGet包扩展了HTML方法,支持这种缓存方式。...2客户端缓存 浏览器缓存 浏览器将从服务器获取的资源保存到本地,然后当再次发起请求并且请求url与以往请求url之一相同时,浏览器会优先查看本地磁盘,加载本地缓存资源。
由于DefaultAssembliesResolver在为HttpController类型解析提供的程序集仅限于当前应用程序域已经加载的程序集,如果目标HttpController定义在尚未加载的程序集中...,我们不得不预先加载它们。...类型名称必须以“Controller”为后缀,但是不区分大小写(可以使用“controller”作为后缀)。...我们知道IoC常和另一个术语“依赖注入(DI,Dependency Injection)”联系在一起。...从命名也可以看出来,这里介绍DependencyResolver与依赖注入有关,我们可以将它视为ASP.NET Web API内部使用的IoC容器。
)); // throws PostconditionException on failure return (ICollection)result; } 利用扩展方法也可以写出如下图中这种比较搞笑的语句...允许EntLibConfig.exe,加载我们编译好的dll或者exe,然后选择需要验证的字段或者方法,然后添加合适的验证规则,如下图: ?...ASP.NET MVC 还可以利用自定义属性(Customer Attribute)来进行参数验证,ASP.NET MVC 的Model中就是使用数据标记(Data Annotations)这种属性来进行验证...其实您看过ASP.NET MVC 中的System.ComponentModel.DataAnnotations应该就可以知道该怎么实现了。...,ASP.NET MVC然后实现了一个简单的利用自定义属性来进行方法参数验证的例子,最后介绍了一下.NET 4.0种的Code Contract,在开发中这些验证方式能够统一我们的方法参数验证,在一定的程序上可以减少工作量
Configure方法是asp.net core程序用来具体指定如何处理每个http请求的, 例如我们可以让这个程序知道我使用mvc来处理http请求, 那就调用app.UseMvc()这个方法就行....用来创建 Web Api的middleware: 原来的.net使用asp.net web api 和 asp.net mvc 分别来创建 web api和mvc项目....但是 asp.net core mvc把它们整合到了一起. MVC Pattern model-view-controller 它的定义是: MVC是一种用来实现UI的架构设计模式....注册并使用MVC 因为asp.net core 2.0使用了一个大而全的metapackage, 所以这些基本的services和middleware是不需要另外安装的....其中convention-based (基于约定的) 主要用于MVC (返回View或者Razor Page那种的). Web api 推荐使用attribute-based.
EF Core 需要和 .NET Core 应用程序一起使用,并且需要 .NET 4.5+ 版本。...下面列举一下 EF Core 所支持的项目类型: 运行在 .NET Core 平台上的 Asp.Net Core MVC/Web Api、Console、etc ; 运行在 .NET 4.5+ 版本上的...ASP.NET MVC/Web Api 、WinForm、Console、WinForm、WPF ; UWP 平台相关的应用 ; 安卓、IOS、Windows 移动平台上运行的应用。...在 Code First 方法中, EF Core API 使用基于 domain classes 中提供的约定和配置的迁移来创建数据库和表,这种方法在 DDD 中很有用。...; TPC ; 多对多关系 ; Entity Splitting ; Spatial Data ; 延迟加载 ; 使用DbContext进行存储过程映射以进行CUD操作 ; 种子数据 ; 自动迁移 。
ASP.NET的路由系统旨在通过注册URL模板与物理文件之间的映射进而实现请求地址与文件路径之间的分离,但是对于ASP.NET MVC应用来说,请求的目标不再是一个具体的物理文件,而是定义在某个Controller...对于ASP.NET MVC来说,最终需要通过在请求地址中指定的Controller名称来创建具体的Controller实例。...ASP.NET MVC对AreaRegistration类型列表的缓存是基于文件的。...具体来说,当通过程序集加载和反射得到了所有的AreaRegistration类型列表后,会将其进行序列化并被保存为一个XML物理文件,这个名为MVC-AreaRegistrationTypeCache.xml...ASP.NET MVC路由展:路由映射 ASP.NET MVC路由扩展:链接和URL的生成
虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除了对...我们在一个空的ASP.NET MVC应用中定义了如下一个HomeController。...我们在一个空的ASP.NET MVC应用中定义了如下一个HomeController,在默认的Action方法Index中将5次调用HttpRoute对象的GetVirtualPath方法返回的HttpVirtualPathData...否则直接使用通过属性VirtualPathRoot表示的默认根路径。...我们对ASP.NET Web API的请求处理管道所做的所有配置基本上都是通过一个类型为HttpConfiguration的对象来完成,而路由注册自然也不例外。
Asp.net Webform 使用Repository模式实现CRUD操作代码生成工具 介绍 该工具是通过一个github上的开源项目修改的原始作者https://github.com/Superexpert...Repository设计模式,修改了一些页面布局,添加了一些DynamicData动态字段,我的开源项目地址https://github.com/neozhu/WebFormsScaffolding,欢迎大家下载或一起完善...该工具集成在vs.net 2013才有的Scaffolding一个代码生成的组件原本自带的是用于MVC项目根据Entity class生成MVC Controller和View的新增,修改,删除操作。...获取最新代码,使用vs.net 2013打开后编译完成就可以安装 ?...[Display(Name = "联系电话"), MaxLength(20)] public string ContactPhone { get; set; } public virtual ICollection
如果你熟悉Asp.Net MVC,Web API的路由与Asp.Net MVC的路由是非常类似的。这主要的区别就是Web API使用的是HTTP方法,而不是URI路径来选择Action。...你也可以在Web API中使用MVC风格的路由。本文不需要有任何Asp.Net MVC的基础。.../1 在路由中使用“api”的原因是为了避免与ASP.NET MVC的路由冲突。...这种风格的路由类似于Asp.Net MVC,而且可能与RPC式的API相接近。(RPC风格不太懂,还没查资料) 你也可以通过使用ActionName注解属性来覆盖动作名。...它对框架发出信号:这个方法不是一个动作,,即使它可能与路由规则匹配。 总结 本节课主要是提供了关于路由的整体概述。
领取专属 10元无门槛券
手把手带您无忧上云