收集成长祝福,点亮成长图标。
...
活动期间,收到祝福数为 1。kekesoft目前位于第1级,离下次升级还差1次。
10011
送成长祝福
很好,很强大
2010-08-26 18:56:25| 回复 更多成长微博 »
http://tech.weiphone.com/2010-05-31/Magic_wind_sculpture_217404.shtml
点此阅读全文 »
http://www.chinawebanalytics.cn/blog-reading-guidance/
作为 Delegate 的更深度进化,Lambda 让我们的代码显得更加简洁和优雅,但同时也面临一个问题,就是如何依据外部条件动态构建一个 Lambda 表达式。或许你会奇怪这个需求是如何产生的…… 首先,Lambda 在 DLinq 中承担了以往 T-SQL 的部分角色;其次,在数据库设计中,我们往往需要依据外部未知的动态条件组合来查询数据。而问题在于作为一种静态语言,我们显然无法用动态语法或者拼接字符串的方法来创建一个Delegate/Lambda,那么如何达到类似的目的呢?CodeDom?Emit?或许最佳的选择是 System.Linq.Expressions.Expression。 首先我们看一个简单 Lambda 表达式的构成。 i => i > 5 在这个表达式中,"i" 被称为 Parameter,"i > 5" 是 Body。我们可以对 Body 进行更进一步的分解,那么 "i > 5" 分别包含参数(i)、操作符(>)以及一个常数(5)。所有这些通过特定顺序的组合,从而构建一个完整的 Lambda 表达式。 我们通过一些例子,来学习如何动态构建这些表达式。 例子1 var ints = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //var r = ints.Where(i => i > 5);...
C# code
<%@Page Language="c#"%><%@Import Namespace="System.Collections.Generic"%><script runat=server>void Page_Load() { U a = V<A>(); U b = V<B>(); U c = V<C>(); a.W(); b.W(); c.W(); } T V<T>() where T : new() { return new T(); } interface U { void W(); } class A :U { public void W(){HttpContext.Current.Response.Write("A<br>");} } class B :U { public void W(){HttpContext.Current.Response.Write("B<br>");} } class C :U { public void W(){HttpCon... 点此阅读全文 »
<%@Page Language="c#"%><%@Import Namespace="System.Collections.Generic"%><script runat=server>void Page_Load() { U a = V<A>(); U b = V<B>(); U c = V<C>(); a.W(); b.W(); c.W(); } T V<T>() where T : new() { return new T(); } interface U { void W(); } class A :U { public void W(){HttpContext.Current.Response.Write("A<br>");} } class B :U { public void W(){HttpContext.Current.Response.Write("B<br>");} } class C :U { public void W(){HttpCon...
在 Microsoft .NET Framework 中,System.Transactions 命名空间使得事务的处理比采用以往任何一种技术都要简单。此前,我曾经撰写过一个数据点专栏,介绍了 System.Transactions 在 Microsoft®.NET Framework 2.0 Beta 1 以及 SQL Server™ 2005 下的工作方式。当然,在产品的发布过程中,既增加了一些功能,也去掉了一些功能;有些 TransactionScopeOptions 已经发生了变化。
从那以后,读者们提出了很多有关 System.Transactions 的问题,这也促使我下定决心再探其究竟。下面,我们就来看看它现在的工作方式,我会告诉您如何使用这个命名空间、它在什么情况下有效以及在什么情况下不能发挥作用。通过以下的内容,您将了解到如何充分利用 .NET 架构去更有效地使用命名空间。此外,我还将使用一些事务来演示最佳的实践操作。本文用到的所有示例均可从MSDN®杂志网站下载。
一语道破天机
我们先来看看如何将两条数据库命令转换为一个事务,具体方法就是构建一个封装器把这两条命令封装起来。具体操作非常简单。只要引用 System.Transactions.dll,然后把您需要的事务性代码封装在一个 using 语句内,这个 usin...
AJAX作为网页异步处理的成功解决方法已经众所周知,但是在具体的使用上还是有一些不同的技巧。由于最近自己的一个小程序的需要,比较彻底的研究了一下AJAX多线程并发及其控制的方法。这里需要感谢Rick Chen和Tom Li在并发控制代码部分给出的意见和建议。下面我们来看看AJAX并发处理和控制的基本思路和流程控制。
YSlow是yahoo美国开发的一个页面评分插件,非常的棒,从中我们可以看出我们页面上的很多不足,并且可以知道我们改怎么却改进和优化。 -------------------------------------------------------------------------------------------------
Yslow安装说明
安装是很简单的了,不过还是简单说一下过程吧 1.到https://addons.mozilla.org/en-US/firefox/search?q=YSLOW&cat=all下载FireFox的Add-in 这里提供下载 2.打开FireFox,把刚才那个东东拉到FireFox中,提示是否安装,当然是安装了 3.安装完成后重启FF,再重动时可以看到右下角有Yslow的图标,点击图标,再点击弹出框里的Preformance tab。可以看到有对网站的评分
---------------------------------------------------------------------------------------------------- 仔细研究了下YSlow跌评分规则。 主要有12条: 1. Make fewer HTTP requests 尽可能少的http请求。。我们有14...
ASP.NET页面事件:顺序与回传详解
一、初始化
·当页面被提交请求第一个方法永远是构造函数。您可以在构造函数里面初始一些自定义属性或对象,不过这时候因为页面还没有被完全初始化所以多少会有些限制。特别地,您需要使用HttpContext对象。当前可以使用的对象包括QueryString, Form以及Cookies集合,还有Cache对象。注意:在构造函数里是不允许使用Session的。
·下一个将执行的方法是AddParsedSubObject方法,这个方法将添加所有独立的控件并把页面组成一个控件集合树,这个方法经常被一些高级的页面模板解决方案(Page Template Solutions)重写以便添加页面内容到页面模板(Page Template)中一些特殊的控件中。这个方法递归应用到所有的页面控件及相应的的每个子控件,所有的控件都是在这个方法中开始最早的初始化。
·页面类中下一个将执行的方法是DeterminePostBackMode。这个方法允许您修改IsPostBack的值及相关的事件。如果您需要从数据库中加载ViewState这个方法将特别有用,因为ViewState只有在IsPostBack为真的情况下才会进行恢复。返回空将会导致强制执行非回传,返回Request.Form则强制执行...
Page 执行中将按照如下顺序激活事件: Page.PreInit Page.Init Page.InitComplite Page.PreLoad Page.Load Page.LoadComplete Page.PreRender Page.PreRenderComplete 如果页面从令一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩展,如权限检查,而其他页面从BasePage继承,则BasePage和最终Page的事件激活顺序是: UI.PreInit Page.PreInit UI.Init Page.Init UI.InitComplite Page.InitComplite UI.PreLoad Page.PreLoad UI.Load Page.Load UI.LoadComplete Page.LoadComplete UI.PreRender Page.PreRender UI.PreRenderComplete Page.PreRenderComplete 如果使用了MasterPage,则MasterPage中的事件和ContentPage中的事件按照下面顺序激活: ContentPage.PreInit Master.Init ...