摘要:
简介 如果你很熟悉面向方面编程(AOP),你就会知道给代码增加“切面”可以使代码更清晰并且具有可维护性。但是AOP通常都依赖于第三方类库或者硬编码的.net特性来工作。虽然这些实现方式的好处大于它们的复杂程度,但是我仍然在寻找一种实现AOP的更为简单的方式,来试我的代码更为清晰。我将它们单独移出来, 阅读全文
posted @ 2016-11-23 18:25
在西天取经的路上……
阅读(204)
评论(0)
推荐(0)
摘要:
Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: Id=2, Name="Test2" Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: I 阅读全文
posted @ 2016-11-23 18:16
在西天取经的路上……
阅读(211)
评论(0)
推荐(0)
摘要:
public static Type GetTypeByString(string type) { switch (type.ToLower()) { case "bool": return Type.GetType("System.Boolean", true, true); case "byte 阅读全文
posted @ 2016-11-23 18:13
在西天取经的路上……
阅读(2013)
评论(0)
推荐(1)
摘要:
一、常规方法 1.知识介绍 2.实例 读取带命名空间的XML: 二、Linq读取xml文件 1.知识介绍 a.XDocument,这是Linq to xml常用类之一,提供处理xml文档的方法,包括声明、注释各处理指令。 b.XElement 它表示一个xml元素,可以用此类创建元素,更改元素内容; 阅读全文
posted @ 2016-11-23 18:11
在西天取经的路上……
阅读(658)
评论(0)
推荐(0)
摘要:
在总体介绍了筛选器及其提供机制(《深入探讨ASP.NET MVC的筛选器》)之后,我们按照执行的先后顺序对四种不同的筛选器进行单独介绍,首先来介绍最先执行的AuthorizationFilter。从命名来看,AuthorizationFilter用于完成授权相关的工作,所以它应该在Action方法被 阅读全文
posted @ 2016-11-23 18:09
在西天取经的路上……
阅读(349)
评论(0)
推荐(0)
摘要:
前言 1、天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西。 2、夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅。据说它是微软自c#1.0后新增的最重要的功能之一。 lambda简介 lambda运算符:所有的lambda表达式都是用新的lambda运算符 " 阅读全文
posted @ 2016-11-23 18:05
在西天取经的路上……
阅读(188)
评论(0)
推荐(0)
摘要:
Lambda表达式实际上是一个匿名函数。它包含表达式和语句,常用于创建委托或表达式目录树类型。所有Lambda表达式都是用Lambda运算符 =>,该运算符读为“goesto”。Lambda运算符的左边是输入参数(可能没有),右边是表达式或语句块。Lambda表达式返回右边表达式的结果。其基本格式如 阅读全文
posted @ 2016-11-23 18:00
在西天取经的路上……
阅读(214)
评论(0)
推荐(0)
摘要:
ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在ASP.NET页面间传值的方法有哪几种”这个面试题,在ASP.NET MVC中TempData的就是其中的一种传值方法。TempData默认 阅读全文
posted @ 2016-11-23 17:59
在西天取经的路上……
阅读(1055)
评论(0)
推荐(0)
摘要:
1、Controller类 i、Controller必须为公开类; ii、必须以Controller结尾; iii、继承Controller基类或实现IController接口的类; iv、类中必须包含数个返回值为ActionResult的公开方法,这些方法在MVC中称为Action; 2、Cont 阅读全文
posted @ 2016-11-23 17:58
在西天取经的路上……
阅读(271)
评论(0)
推荐(0)
摘要:
1、网址路由比对 2、执行Controller与Action 3、执行View并返回结果 在使用MVC中是由IgnoreRoute()辅助方法对比成功的,会导致程序直接跳离MVC的执行生命周期,将程序继续执行的权利交回给IIS,由IIS决定接下来应该由哪个模块或哪个处理例程(Handler)来执行。 阅读全文
posted @ 2016-11-23 17:58
在西天取经的路上……
阅读(364)
评论(0)
推荐(0)
摘要:
因为如果在view页面中的路径直接写死为<from action="/Home/Save" method="post">那么当Global.asax.cs文件中的Routing自定义或随时修改后,还要连带修改数十个视图中的窗口发送路径. 在MVC中,我们可以使用Html.BeginForm() As 阅读全文
posted @ 2016-11-23 17:57
在西天取经的路上……
阅读(155)
评论(0)
推荐(0)
摘要:
在做Asp.Net MVC项目中,都知道View负责页面展示数据或者提供页面收集数据,而所展示的数据或者收集的数据都是从Controller的Action中获取或提交到Controller的Action。 这里的数据,可能是基础类型,或者是Model,或者是Model的部分内容,或者是集合比如Lis 阅读全文
posted @ 2016-11-23 17:56
在西天取经的路上……
阅读(157)
评论(0)
推荐(0)
摘要:
何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组。 其实ASP.NET MVC的View是Aspx的页面,本身可以声明定义方法,那为什么要有Helper呢? 其实无非是将界面与逻辑分离,而且Asp.net MVC也并不只支持Aspx一种View(还可以扩展出来很多),在扩展包中 阅读全文
posted @ 2016-11-23 17:55
在西天取经的路上……
阅读(163)
评论(0)
推荐(0)
摘要:
母版页(Master) 1.母版页是与Controller无关的,母版页只是一个View文件,而没有任何Controller与之相对应。 2.其实在ASP.NET MVC中View的aspx与母版页并不像WebForm中那样紧密关联。 例如我想更换一个aspx的母版页,只要在Action中retur 阅读全文
posted @ 2016-11-23 17:55
在西天取经的路上……
阅读(833)
评论(0)
推荐(0)
摘要:
许多时候我们会遇到如下场景 在写一个编辑数据的页面时,我们通常会写如下代码 1: <input type="text" value='<%=ViewData["title"] %>' name="title" /> 1: <input type="text" value='<%=ViewData[" 阅读全文
posted @ 2016-11-23 17:55
在西天取经的路上……
阅读(159)
评论(0)
推荐(0)
摘要:
ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则去组织model实体层,views视图层和控制层的。如果是大规模的应用程序,经常会由不同功能的模块组成,而每个功能模块都由MVC中的三层所构成,因此,随着应用程序规模的增大,如何组织这些不同功能模块中的MVC三层的目录结构,有时对开发者来 阅读全文
posted @ 2016-11-23 17:54
在西天取经的路上……
阅读(172)
评论(0)
推荐(0)
摘要:
如果url是 /home/index?id=3 直接Request就ok。 但是如果路由设定为:{controller}/{action}/{id} url是 /home/index/3 这时想在页面View中获取参数id的值,该怎么获取? 查了下资料好多人都利用Action获取到参数值后,用Vie 阅读全文
posted @ 2016-11-23 17:53
在西天取经的路上……
阅读(1595)
评论(0)
推荐(0)
摘要:
1.html.ActionLink返回的指向指定controller、指定action的超链接标签<a>标签.如果没有指定controller,则默认为本页面对应的Controller. 如@Html.ActionLink(“链接文本”、“someaction”、“somecontroller”,n 阅读全文
posted @ 2016-11-23 17:53
在西天取经的路上……
阅读(2666)
评论(0)
推荐(1)
摘要:
Autofac是应用于.Net平台的依赖注入(DI,Dependency Injection)容器,具有贴近、契合C#语言的特点。随着应用系统的日益庞大与复杂,使用Autofac容器来管理组件之间的关系可以“扁平化”错综复杂的类依赖,具有很好的适应性和便捷度。 在该篇博文中,我们将应用Autofac 阅读全文
posted @ 2016-11-23 17:53
在西天取经的路上……
阅读(280)
评论(0)
推荐(0)
摘要:
随着Code First一起出现的DbContext和DbSet类绝对可以称得上EF的功能核心,其取代了之前的ObjectContext和ObjectSet类,提供了与数据库通信,管理内存中实体的重要功能。 DbContext类 主要是负责与数据库进行通信,管理实体到数据库的映射模型,跟踪实体的更改 阅读全文
posted @ 2016-11-23 17:50
在西天取经的路上……
阅读(360)
评论(0)
推荐(0)
摘要:
提示56. 使用反射提供程序编写一个OData Service 在TechEd我收到一大堆有关将数据作为OData暴露的问题。 到目前为止你大概知道可以使用数据服务与Entity Framework将数据库中的数据暴露为一个OData服务。你可能还知道你可以在数据服务中使用一个自定义的数据服务提供程 阅读全文
posted @ 2016-11-23 17:42
在西天取经的路上……
阅读(173)
评论(0)
推荐(0)
摘要:
提示51. 怎样由任意形式的流中加载EF元数据 在提示45中我展示了怎样在运行时生成一个连接字符串,这相当漂亮。 其问题在于它依赖于元数据文件(.csdl .ssdl .msl)存在于本地磁盘上。 但是如果这些文件存在于web服务器中或者类似的位置,甚至你无权访本地文件系统而无法把它们拷贝到本地呢? 阅读全文
posted @ 2016-11-23 17:41
在西天取经的路上……
阅读(195)
评论(0)
推荐(0)
摘要:
提示42. 怎样使用Code-Only创建一个动态模型 背景: 当我们给出使用Code-Only的例子,总是由创建一个继承自ObjectContext的强类型的Context开始。这个类用于引导模型。 例如这个类(处于简化问题考虑省略了属性体): 这告诉CodeOnly使用2个EntitySet,一 阅读全文
posted @ 2016-11-23 17:40
在西天取经的路上……
阅读(198)
评论(0)
推荐(0)
摘要:
提示46. 怎样使用Code-Only排除一个属性 这次是一个真正简单的问题,由StackOverflow上这个问题 引出。 问题: 当我们使用Code-Only把一个类的信息告诉Entity Framework,默认情况下每个属性会成为Entity的一部分,并作为一个存储于数据库中的结果。 通常这 阅读全文
posted @ 2016-11-23 17:40
在西天取经的路上……
阅读(183)
评论(0)
推荐(0)
摘要:
提示37. 怎样进行按条件包含(Conditional Include) 问题 几天前有人在StackOverflow上询问怎样进行按条件包含。 他们打算查询一些实体(比方说Movies),并且希望预先加载一个相关项目(比方说,Reviews),但又仅要那些匹配一些条件的reviews(如,Revi 阅读全文
posted @ 2016-11-23 17:39
在西天取经的路上……
阅读(184)
评论(0)
推荐(0)
摘要:
提示29. 怎样避免延迟加载或Load()阅读器问题 如果你有如下这样的代码: 这段代码将会打开2个同步的阅读器。一个枚举Customers,另一个枚举当前Customer的Orders。并且仅当 Multiple Active ResultSets(又称MARS)启用时才可用。所以如果MARS未启 阅读全文
posted @ 2016-11-23 17:38
在西天取经的路上……
阅读(167)
评论(0)
推荐(0)
摘要:
提示35. 怎样实现OfTypeOnly<TEntity>()这样的写法 如果你编写这样LINQ to Entities查询: 这会返回,Cars包括那些派生自Car类型,如SportCar或SUV类型的汽车。 如果你仅想要Cars即不想要如SportCar或SUV等派生类型汽车,你会在LINQ t 阅读全文
posted @ 2016-11-23 17:38
在西天取经的路上……
阅读(203)
评论(0)
推荐(0)
摘要:
提示20. 怎样处理固定长度的主键 这是正在进行中的Entity Framework提示系列的第20篇。 固定长度字段填充: 如果你的数据库中有一个固定长度的列,例如像NCHAR(10)类型的列,当你进行一次插入时,填充会自动发生。所以例如如果你插入'12345',你将得到5个自动填充的空格,来创建 阅读全文
posted @ 2016-11-23 17:37
在西天取经的路上……
阅读(182)
评论(0)
推荐(0)
摘要:
提示26. 怎样避免使用不完整(Stub)实体进行数据库查询 什么是不完整(Stub)实体? 不完整实体是一个部分填充实体,用于替代真实的对象。 例如: 就是一个不完整实体。 这个实体中只有ID被填充,表示这是一个代表Category 5的Stub。 Stub实体什么时候有用? 当你真正不需要知道一 阅读全文
posted @ 2016-11-23 17:37
在西天取经的路上……
阅读(167)
评论(0)
推荐(0)
摘要:
提示13. 附加一个实体的简单方式 问题: 在早先的一些提示中,我们讨论了使用Attach来加载一个处于未改变(unchanged)状态的东西到ObjectContext从而避免进行查询的开销。 如果性能是你的目标,Attach就是要选择的武器。 不幸的是我们的API不能适应99%的情况,即每个类型 阅读全文
posted @ 2016-11-23 17:36
在西天取经的路上……
阅读(308)
评论(0)
推荐(0)
摘要:
提示16. 当前如何模拟.NET 4.0的ObjectSet<T> 背景: 当前要成为一名EF的高级用户,你确实需要熟悉EntitySet。例如,你需要理解EntitySet以便使用 AttachTo(…) 或创建EntityKey。 在大部分情况下,针对每个对象/clr类型只有一个可能的Entit 阅读全文
posted @ 2016-11-23 17:36
在西天取经的路上……
阅读(193)
评论(0)
推荐(0)
摘要:
提示6. 如何及何时使用贪婪加载 什么时候你需要使用贪婪加载? 通常在你的程序中你知道对查询到的实体将要进行怎样的操作。 例如,如果你查询一个订单以便为一个客户重新打印,你知道没有组成订单的项目即产品的信息重打印将是不完整的,所以你知道你将需要同时加载这些信息。 这是贪婪加载起作用的一类场景。 如果 阅读全文
posted @ 2016-11-23 17:35
在西天取经的路上……
阅读(222)
评论(0)
推荐(0)
摘要:
提示9. 怎样直接删除一个对象而无需检索它 问题 最常见的删除Entity Framework中实体的方式是将你要删除的实体传入Context中并像如下这样删除: 然而这段代码会触发两条数据库命令而不是一条。我的意思是我实际需要完成的就是: 大多数情况下这还不太坏,但是如果性能与可扩展性对你很关键, 阅读全文
posted @ 2016-11-23 17:35
在西天取经的路上……
阅读(246)
评论(0)
推荐(0)
摘要:
预备知识 LINQ技术 LINQ是.NET 3.5中新增的一种技术,这个技术扩展了.NET平台上的编程语言,使其可以更加方便的进行数据查询,单纯的LINQ技术主要完成对集合对象(如System.Collection下或System.Collection.Generic命名空间下的对象)的查询。结合L 阅读全文
posted @ 2016-11-23 17:34
在西天取经的路上……
阅读(281)
评论(0)
推荐(0)
摘要:
提示1. 在Entity Framework中怎样排序关系(Relationships) 问题: 在Entity Framework论坛中常会看到关于排序相关联项目的问题。 例如,想象你要查询客户,并返回那些欠款超过30的账户,与此同时检索这些账户的订单。 并且你需要将那些订单按下单日期排序,这样你 阅读全文
posted @ 2016-11-23 17:34
在西天取经的路上……
阅读(144)
评论(0)
推荐(0)
摘要:
Directory类 是一个静态类,常用的地方为创建目录和目录管理。 一下来看看它提供的操作。 1、CreateDirectory 根据指定路径创建目录。有重载,允许一次过创建多个目录。 2、Delete 删除指定的目录。 有重载,指示目录有子目录的情况下,是否删除子目录。 true则连同子目录一起 阅读全文
posted @ 2016-11-23 17:30
在西天取经的路上……
阅读(245)
评论(0)
推荐(0)
摘要:
System.Uri类用于处理Uri地址信息,常用到它的地方有,相对Uri地址转绝对Uri地址,获取Uri的某部分信息等等,可以说是一个非常有用的类。 一、属性 AbsolutePath 获取 URI 的绝对路径。 AbsoluteUri 获取绝对 URI。 Authority 获取服务器的域名系统 阅读全文
posted @ 2016-11-23 17:29
在西天取经的路上……
阅读(271)
评论(0)
推荐(0)
摘要:
一、区别与联系 ViewData 和 TempData 都可以传递弱类型数据,区别如下:TempData 只在当前 Action 中有效,生命周期和 View 相同;保存在Session中,Controller每次执行请求的时候,会从Session中先获取TempData,而后清除Session,获 阅读全文
posted @ 2016-11-23 17:21
在西天取经的路上……
阅读(252)
评论(0)
推荐(0)
摘要:
一、公共模板 1、@RenderBody() 在网站公用部分通过一个占位符@RenderBody()来为网站独立部分预留一个位置。然后私有页面顶部通过@{Layout="公用模板路径"}来引入公用模板,并在自身放到公用模板的位置。同时也可以设置ViewData或ViewBag设置网站标题,关键词等信 阅读全文
posted @ 2016-11-23 17:20
在西天取经的路上……
阅读(178)
评论(0)
推荐(0)
摘要:
一、所有的Controller都继承自System.Web.Mvc.Controller 目前ASP.NET MVC3默认提供了多种ActionResult的实现,在System.Web.Mvc命名空间里。 其中ActionResult是一个抽象类,所有一下的Result都继承自它,因此如果一个Ac 阅读全文
posted @ 2016-11-23 17:19
在西天取经的路上……
阅读(157)
评论(0)
推荐(0)
摘要:
一、Razor基础 1、单行代码书写 @代码 2、多行代码书写 @{ //@加个大括号就可以在里面写C#代码了。 C#代码第一行 C#代码第二行 } 3、Razor模板引擎会自动判别代码块,但是当代码存在二义性的时候,可以用小括号澄清 再给一个例子,就是调用泛型方法的时候,尖括号会导致Razor转回 阅读全文
posted @ 2016-11-23 17:19
在西天取经的路上……
阅读(165)
评论(0)
推荐(0)
摘要:
一、自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttribute类的方法签名。 因此自定义过滤器可以选择适当的方法来重写方可。下面来举个简单的例子:检查登录状态的过滤器,没有登录则跳转到登录页 控 阅读全文
posted @ 2016-11-23 17:18
在西天取经的路上……
阅读(197)
评论(0)
推荐(0)
摘要:
一、Html.BeginForm <form>标签 new里面的叫做htmlAttributes,能够设置本控件的HTML属性,至于class前面加个@是因为class在C#里是关键字。 二、Html.TextBox <input type="text" /> 标签 三、Html.TextArea 阅读全文
posted @ 2016-11-23 17:18
在西天取经的路上……
阅读(159)
评论(0)
推荐(0)
摘要:
前一篇说了MVC数据验证的例子,这次来详细说说各种各样的验证注解。System.ComponentModel.DataAnnotations 一、基础特性 一、Required 必填选项,当提交的表单缺少该值就引发验证错误。 二、StringLength 指定允许的长度 指定最大长度: 指定最短于最 阅读全文
posted @ 2016-11-23 17:17
在西天取经的路上……
阅读(168)
评论(0)
推荐(0)
摘要:
一、路由规则说明 先来看MVC中的默认路由的说明 为了Asp.net MVC框架的正常运行,框架要求使用一些特定的参数名称{controller}和{action}。 假设我们想让所有的MVC请求都以site开头,那么路由我们可以改成这样 假设想让所有的页面都以.aspx为后缀,则可以这样写 现在来 阅读全文
posted @ 2016-11-23 17:16
在西天取经的路上……
阅读(351)
评论(0)
推荐(0)
摘要:
在WebForm,获取提交表单的值一般都是Request.Form["Title"]这样的方式。在MVC中,提供了模型绑定机制。让后台获取表单或Url中的参数变得更加简单。 一、基本模型绑定 你可以直接在参数中用字符串,整型变量,实体或者是List<实体>的方式获取表单提交的参数。 参数中的这些东西 阅读全文
posted @ 2016-11-23 17:16
在西天取经的路上……
阅读(151)
评论(0)
推荐(1)
摘要:
一、简介 在Asp.net MVC实现的Comet推送的原理很简单。 服务器端:接收到服务器发送的AJAX请求,服务器端并不返回,而是将其Hold住,待到有东西要通知客户端时,才将这个请求返回。 客户端:请求异步Action,当接收到一个返回时,立即又再发送一个。 缺点:会长期占用一个Asp.net 阅读全文
posted @ 2016-11-23 17:14
在西天取经的路上……
阅读(179)
评论(0)
推荐(0)
摘要:
一、路由 1、HttpApplication中的ASP.NET MVC .Net 3.5 引入了System.Web.Routing程序集,通过Url Routing的机制,可以实现将一个虚拟路径的请求映射到一个Action方法上。 在Asp.net MVC中,Route类指定Asp.net应用程序 阅读全文
posted @ 2016-11-23 17:14
在西天取经的路上……
阅读(154)
评论(0)
推荐(0)
摘要:
这篇文章决定对最近一个单机版Web程序用到的东西总结一下。 一、反射Linq之OrderBy 动态Linq结合反射对某字段排序: 输出如下: 唯一要注意的东西,刚开始写的不正确,实际上排序始终都是对属性的值排序。这种东西有没有用呢? 线上系统一般很少用,但是最近项目要求做一个离线版Web,离线操作, 阅读全文
posted @ 2016-11-23 17:11
在西天取经的路上……
阅读(241)
评论(0)
推荐(0)
摘要:
一、LINQ to XML常用成员 LINQ to XML的成员, 属性列表: 方法列表: 二、LINQ to XML各种类的基本操作 1、创建XML元素 LINQ to XML使用XElement类创建XML元素。 先来看一个最基本的示例: 以上代码生成的XML文件代码如下: 非常简单的,下面给出 阅读全文
posted @ 2016-11-23 17:10
在西天取经的路上……
阅读(155)
评论(0)
推荐(0)
摘要:
一、Redis的安装 Redis下载地址如下:https://github.com/dmajkic/redis/downloads 解压后根据自己机器的实际情况选择32位或者64位。下载解压后图片如下: 上图中的redis-server.exe为其服务端程序。双击它运行。 如果你希望将此服务设置为w 阅读全文
posted @ 2016-11-23 17:07
在西天取经的路上……
阅读(180)
评论(0)
推荐(0)
摘要:
Memcached是“分布式”的内存对象缓存系统,那么不需要“分布”的、不需要共享的或者干脆规模小到只有一台服务器的应用,Memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源,如果只是本地级缓存,使用Memcached是非常不划算的。 Memcached在很多时候都是作 阅读全文
posted @ 2016-11-23 17:06
在西天取经的路上……
阅读(246)
评论(0)
推荐(0)
摘要:
反射用于在程序运行过程中,获取类里面的信息或发现程序集并运行的一个过程。通过反射可以获得.dll和.exe后缀的程序集里面的信息。使用反射可以看到一个程序集内部的类,接口,字段,属性,方法,特性等信息。 一、各种GetType()、typeof的区别 首先就是获取Tyoe对象的来源不同: 三者的区别 阅读全文
posted @ 2016-11-23 17:03
在西天取经的路上……
阅读(285)
评论(0)
推荐(0)
摘要:
一、组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1、类型创建RegisterType AutoFac能够通过反射检查一个类型,选择一个合适的构造函数,创造这个对象的实例。主要通过RegisterType<T>() 和 Regist 阅读全文
posted @ 2016-11-23 17:00
在西天取经的路上……
阅读(8612)
评论(0)
推荐(1)
摘要:
autofac是比较简单易用的IOC容器。下面我们展示如何通过json配置文件,来进行控制反转。 需要用到以下程序集。可以通过nugget分别安装 Microsoft.Extensions.Configuration.dll Microsoft.Extensions.Configuration.Js 阅读全文
posted @ 2016-11-23 16:59
在西天取经的路上……
阅读(1309)
评论(0)
推荐(0)

浙公网安备 33010602011771号