2011-10-30 22:30 by Ivony..., 2416 visits, 网摘, 收藏, 编辑
摘要:从ASP.NET MVC第一个版本开始到现在,创建ASP.NET MVC项目的官方方法只有一个,“文件”->“新建”->“项目”,然后选择ASP.NET MVC X Web应用程序。 这种方式当然有其好处,但是很多时候,网站项目(WebSite)而不是Web应用程序(WebProject)更适合大型网站,能更充分的利用ASP.NET的优势,创建可伸缩性更好的网站出来。 其实说到底,ASP....
阅读全文
2011-01-25 20:47 by Ivony..., 3416 visits, 网摘, 收藏, 编辑
摘要:通过源代码研究ASP.NET MVC中的Controller和View(一)通过源代码研究ASP.NET MVC中的Controller和View(二)通过源代码研究ASP.NET MVC中的Controller和View(三)通过源代码研究ASP.NET MVC中的Controller和View(四)通过源代码研究ASP.NET MVC中的Controller和View(五)通过源代码研究ASP.NET MVC中的Controller和View(六)通过源代码研究ASP.NET MVC(七)第八篇,上一篇发布后,有朋友说这个系列更新太慢了,不给力。有几个原因,首先是Jumony M2的计划中
阅读全文
2011-01-06 14:17 by Ivony..., 2704 visits, 网摘, 收藏, 编辑
摘要:通过源代码研究ASP.NET MVC中的Controller和View(一) 通过源代码研究ASP.NET MVC中的Controller和View(二) 通过源代码研究ASP.NET MVC中的Controller和View(三) 通过源代码研究ASP.NET MVC中的Controller和View(四) 通过源代码研究ASP.NET MVC中的Controller和View(五) ...
阅读全文
2010-12-24 00:39 by Ivony..., 2569 visits, 网摘, 收藏, 编辑
摘要:在这一篇里面,我会来谈谈Jumony与现有技术的结合,以及带来的无缝的体验。在前面的文章中,我们见识了Jumony种种神奇的功能,它可以拦截一个HTML文件的请求,解析文件成为DOM,用选择器找出我们感兴趣的地方,并用简单的方法来绑定数据。这些看起来很酷,但做网站需要的不是一个看起来很酷的技术,如何与现有的成果兼容,如何利用现有的经验和积累,也是非常重要的问题。
阅读全文
2010-12-22 01:28 by Ivony..., 3219 visits, 网摘, 收藏, 编辑
摘要:这一次我要谈到Jumony的HTML解析器,我将直接从互联网上随便抓一个页面来分析其所有链接信息并呈现为表格。
阅读全文
2010-12-20 17:05 by Ivony..., 2642 visits, 网摘, 收藏, 编辑
摘要:Jumony能干什么,这一次我将从一个具体的问题提出Jumony的解决方案,展现Jumony神奇的魅力。
阅读全文
2010-12-19 18:35 by Ivony..., 4645 visits, 网摘, 收藏, 编辑
摘要:Jumony试图提供在传统Web开发模型中许多难以解决问题的解决方案。一言蔽之,Jumony的一切基础建立在服务器端的HTML DOM之上。在服务器端将HTML(文件或动态网页技术的输出)按照客户端浏览器的处理方式解析为HTML DOM。操纵和处理HTML DOM,就像我们在客户端用JavaScript干的那些事情一样,不同的是,Jumony可以使你依托强大的.NET Framework,来解决以前用脚本和服务器端技术都难以解决的事情。
阅读全文
2010-11-26 23:16 by Ivony..., 2583 visits, 网摘, 收藏, 编辑
摘要:通过源代码研究ASP.NET MVC中的Controller和View(一) 通过源代码研究ASP.NET MVC中的Controller和View(二) 通过源代码研究ASP.NET MVC中的Controller和View(三) 通过源代码研究ASP.NET MVC中的Controller和View(四) 通过源代码研究ASP.NET MVC中的Controller和View(五)上篇谈到Controller最终把执行的操作外包给了ActionInvoker,其默认实现大体上是这么一个过程:查找Action(FindAction) 获取参数 InvokeActionMethod In
阅读全文
2010-11-21 15:35 by Ivony..., 2370 visits, 网摘, 收藏, 编辑
摘要:通过源代码研究ASP.NET MVC中的Controller和View(一)通过源代码研究ASP.NET MVC中的Controller和View(二)通过源代码研究ASP.NET MVC中的Controller和View(三)通过源代码研究ASP.NET MVC中的Controller和View(四)第五篇,从这一篇开始,将研究ASP.NET的Controller,IController接口是这个样子的:IController是控制器的抽象,由资料可知,当ASP.NET MVC捕获到HTTP请求时,便会通过一系列的机制确定处理当前请求的Controller,创建IController的实例来
阅读全文
2010-11-20 16:30 by Ivony..., 2152 visits, 网摘, 收藏, 编辑
摘要:通过源代码研究ASP.NET MVC中的Controller和View(一) 通过源代码研究ASP.NET MVC中的Controller和View(二) 通过源代码研究ASP.NET MVC中的Controller和View(三) 第四篇,在上一篇我们知道具体的Render操作是由ViewPage和ViewUserControl来负责完成的。那么到这里,我的研究已经到头了。因为已经有足够的信息来完成Jumony的ASP.NET MVC支持,这个工作正在进行,ASP.NET MVC中一些设计的原理和思想也会不同程度的渗入Jumony的架构。在这里插句嘴谈一下Jumony View的一些设
阅读全文
2010-11-17 02:22 by Ivony..., 2744 visits, 网摘, 收藏, 编辑
摘要:通过源代码研究ASP.NET MVC中的Controller和View(一)通过源代码研究ASP.NET MVC中的Controller和View(二)第三篇来了,上一篇我已经把VirtualPathProviderViewEngine的FindView翻了个底朝天,在研究派生类WebFormViewEngine之前,先来看看VirtualPathProviderViewEngine有没有什么遗漏:默认构造函数没有什么有价值的东西。接下来是两个CreateView方法。它们由派生类实现,被FindView所调用。FileExists是判断虚拟路径文件是否存在的,然后是FindView和Rele
阅读全文
2010-11-15 07:40 by Ivony..., 3433 visits, 网摘, 收藏, 编辑
摘要:通过源代码研究ASP.NET MVC中的Controller和View(一)在开始之前,先来温习下上一篇文章中的结论(推论):IView是所有HTML视图的抽象 ActionResult是Controller对View的控制的抽象,也是View的入口。 ViewResult用于指明呈现某个HTML视图(IView实例)。 ViewResult是IView实例的使用者,查找、呈现和释放IView实例。 IViewEngine是IView的管理者,被ViewResult调用,用于查找和释放IView实例。 三个类型已经可以得出初步的结论:ViewResult创建者:Controller 职责:呈现
阅读全文
2010-11-13 17:33 by Ivony..., 6140 visits, 网摘, 收藏, 编辑
摘要:因为Jumony计划提供ASP.NET MVC的视图模型支持,以取代ASP.NET MVC默认的视图模型(事实上,我觉得很糟糕)。所以,需要先对ASP.NET MVC的视图模型有一个了解。ASP.NET MVC是一个很年轻的项目,代码并不多,这很好,但麻烦的是文档和资料也不够多,看来要想了解其视图模型只能靠自己。不过幸运的是,MVC模型已经决定了其大体的框架,所以我打算直接用Reflector来看看里面的结构(不直接用源代码的原因仅仅是因为Reflector导航功能实在是太强了,但当我贴代码的时候,贴的是MVC源代码),配合名称和设计思想反析就能够很轻松的了解其架构。那么这一次研究的对象是.N
阅读全文
2010-11-06 15:39 by Ivony..., 2037 visits, 网摘, 收藏, 编辑
摘要:一、ASP.NET MVC之罪其实我一直不认为ASP.NET MVC是一个成熟的技术,其中一个重要的原因就是设计器支持,如下图:这是ASP.NET MVC默认项目中的一个页面,那么它在浏览器中显示的样子是怎样的呢?OK,我们发现在设计视图中,右上角的登录,标题下方的导航按钮,以及正文中的加粗标题统统不见了。因为这些东西都是直接操纵HTML而产生的。尽管绝大多数时候,这并不会造成什么大的问题,但如果...
阅读全文
2010-10-31 14:58 by Ivony..., 2758 visits, 网摘, 收藏, 编辑
摘要:以下日记纯属虚构,如有雷同纯属巧合。 记得还是2006年的时候,微软搞了一个被当时媒体吹捧成最有钱途的技术:WPF/E,这小子后来换了个时髦的名字叫Silverlight。当然,这是后话。 那一年,我刚开始做程序员,那之前,我做网页。 那时候的Silverlight是多么的美好啊,XAML的标签是多么的简单。当别的程序员还在为HTML复杂的规则和浏览器兼容性头...
阅读全文
2010-09-02 03:32 by Ivony..., 3802 visits, 网摘, 收藏, 编辑
摘要:Fiddler是一个HTTP调试的好帮手,相信很多Web开发程序员经常要与这个软件打交道。如果您还不了解这个软件,可以移驾http://www.fiddler2.com/fiddler2/了解和下载安装。最新的Fiddler支持插件,而且默认会拦截所有的HTTP请求,这就给我们的HTML筛选器带来了很大的便利。而之前永久测试版是自行转发HTTP信息,既不能拦截HTTP请求,也不能很好的处理GZIP...
阅读全文
2010-08-29 01:56 by Ivony..., 2509 visits, 网摘, 收藏, 编辑
摘要:Jumony项目Jumony(一)从扩展方法到流畅的程序体验Jumony(二)jQuery的设计艺术和选择器Jumony(三)第一个公开预览版,在.NET里玩转jQuery选择器!Jumony(外一)HTML和数据,同时发布第一个CTP源代码。其实并没有发布所谓Milestone的计划,但是因为我即将离开北京到深圳生活,Jumony的开发必然会要停滞一段相对较长的时间。所以赶在这之前把一些已经构思...
阅读全文
2010-08-18 12:22 by Ivony..., 1996 visits, 网摘, 收藏, 编辑
摘要:Jumony(一)从扩展方法到流畅的程序体验Jumony(二)jQuery的设计艺术和选择器Jumony(三)第一个公开预览版,在.NET里玩转jQuery选择器!首先是兑现诺言,上一篇文章中曾经说到源代码会随下一篇文章的发布一同发布。其实我早已打包好了,现在提供下载地址:http://files.cnblogs.com/Ivony/Jumony_CTP(20100802)_Source.rar有...
阅读全文
2010-08-09 18:49 by Ivony..., 2606 visits, 网摘, 收藏, 编辑
摘要:Jumony(一)从扩展方法到流畅的程序体验Jumony(二)jQuery的设计艺术和选择器在用ASP.NET做网站页面的时候,最常见和最麻烦的需求便是页面的数据绑定。对于大多数内容网站而言,动态页面和静态页面的的区别仅在于是否有动态数据绑定在上面。然而随着Web前端技术的发展,我们所面对的页面也越来越复杂,譬如说这种页面或是这种页面,在ASP.NET传统的技术下,就很麻烦。最近几年一直在做ASP...
阅读全文
2010-08-01 02:43 by Ivony..., 2007 visits, 网摘, 收藏, 编辑
摘要:这篇文章的同系列上一篇文章是Jumony(一)从扩展方法到流畅的程序体验,这是Jumony引擎的介绍系列文章第二篇。jQuery是一个了不起的轻量级的JavaScript框架,事实上在jQuery发布之前,就已经有无数功能强大得多的JavaScript框架在流行。从功能列表上来说,jQuery在JavaScript框架中只能算是很不起眼的小弟。但这个小弟在短短的时间内,就成为了最流行的JavaSc...
阅读全文
2010-07-24 02:38 by Ivony..., 4237 visits, 网摘, 收藏, 编辑
摘要:今天让公司的程序员试用了一下还在开发中的代号为"Jumony"的HTML数据绑定引擎,开发人员的一句评价被我视为最高的褒奖。“感觉这个框架就是,你想到什么就写什么。”想到什么就写什么,在这个越来越强调快速开发的时代,这一点变得越来越重要。我最近经常戏言:“natural code才是王道”,当然,不是说我们要用中文去编程,而是程序应该成为越来越自然的...
阅读全文
2010-05-21 03:22 by Ivony..., 1563 visits, 网摘, 收藏, 编辑
摘要:问题是在老赵的博客上看到的:当类型为dynamic的视图模型遭遇匿名对象看到问题后,我的直觉的第一反应觉得这个问题一定是某种特定条件下必然会触发的Bug,与ASP.NET MVC没啥关系。但当时比较懒,做了几次试验后就暂且搁下了。后来swanky.wu同学推进了一把问题的研究,指出:“当用dynamic在某个程序集中定义动态类型后,然后使用匿名类型对象对其赋值,再然后在另一个程序集访问...
阅读全文
2009-08-09 22:43 by Ivony..., 422 visits, 网摘, 收藏, 编辑
摘要:关于C语系这样以符号为主的语言而言,经常会出现一些关于语法的小问题。当然我不觉得过分的去钻语法的牛角尖是个什么好事,但并不是说对语法的深入研究和合理利用就是为了把我们的程序写成天书的奇技淫巧。举一个最简单的例子:i = i++;首先要说明的是,这个表达式在C++中的行为是不可预知的,在C#中的行为却被严格定义了。当然,我并不认为这种写法存在于代码中有什么意义,而且也不是每个人都能一眼就能看出其执行...
阅读全文
2009-07-31 23:48 by Ivony..., 3442 visits, 网摘, 收藏, 编辑
摘要:这是对“LINQ本质(再版)第二篇 运算”一文的补遗,主要讲述C#的LINQ表达式如何表示JOIN操作。
阅读全文
2009-06-28 19:46 by Ivony..., 319 visits, 网摘, 收藏, 编辑
摘要:1、问题我们知到一般说到权限管理配置,最常见的就是这样的形式:in:某人、某事out:允许或拒绝。更强大一些无非加入用户组的概念,某用户组的人,某事。但实际上,在稍微复杂的系统中,这样的模式是很糟糕的,比如说论坛。比如说,我要定义一个这样的权限:用户可以在自己发起的话题中修改自己发布的回复。这里的某人是针对任何人的,而某事是:“在自己发起的话题中修改自己发布的回复”,最后控...
阅读全文
2009-05-14 19:03 by Ivony..., 2834 visits, 网摘, 收藏, 编辑
摘要:今天被GF问到一个问题,某个函数在多线程环境中,会不会有冲突。在帮她解答这个问题的过程中,发现很多人对线程冲突和线程安全的理解并不是很全面,所以萌发了写这么一篇文章的想法,也算是对GF的问题的一个完整的解答。 水平有限,如有错漏指出敬请指出。 一、什么是线程冲突 线程冲突其实就是指,两个或以上的线程同时对同一个共享资源进行操作而造成的问题。 一个比较经典的例子是,用一个全局变量做计数器,然后开N...
阅读全文
2008-10-14 19:54 by Ivony..., 2473 visits, 网摘, 收藏, 编辑
摘要:从上一篇文章的论述中我们可以知道,.NET Framework使用IEnumerable<T>表示一个关系(集合),但反之不然。不过IEnumerable<T>的本质是一个序列枚举器,所以IEnumerable<T>本身就具备三重特性,集合、关系、序列。.NET Framework定义了一个扩展类Enumerable用于对IEnumerable进行运算扩展,主要...
阅读全文
2008-08-28 14:35 by Ivony..., 2067 visits, 网摘, 收藏, 编辑
摘要:这篇文章主要探讨LINQ所面对的是什么?什么是LINQ技术可以操纵的数据?什么不是?LINQ所面对的数据与关系型数据库有什么关系?关系到底是个什么东西?
在这一篇文章里,我不打算探讨任何LINQ的使用技巧或者实现方法,因为这些,有太多太多的资料。我只打算用一篇文章简单的对LINQ的设计思想做一些阐述……
阅读全文
2008-08-18 18:27 by Ivony..., 2813 visits, 网摘, 收藏, 编辑
摘要:在这一篇文章里,我不打算探讨任何LINQ的使用技巧或者实现方法,因为这些,有太多太多的资料。我只打算用一篇文章简单的对LINQ的设计思想做一些阐述。
这是一篇晦涩难懂的文章,因为这是一篇对LINQ技术进行深层次分析的文章,我并没有打算用通俗语言来讨论一个这么沉重的话题,也没有这个能力。
如果您在阅读之前能了解一些集合论的知识,会很有帮助。
阅读全文
2006-10-31 14:40 by Ivony..., 668 visits, 网摘, 收藏, 编辑
摘要:正则表达式详解(一)正则表达式初步 —— by Ivony... 转载请声明出处 正则表达式的作用是从一个字符串中捕获符合要求的字符串。 先看一个最简单的捕获: “a123b”匹配: “aaab12bb13123c”如果一个字符串中存在至少一个捕获,就算这个正则表达式匹配此字符串。如果只存在一个捕获,而且此捕获是整个字符串,则...
阅读全文