HttpHandler中使用Session
[
2011/12/27 20:14 | by tommyhu ]
2011/12/27 20:14 | by tommyhu ]
HttpHandler中使用Session
SOA是英文Service-Oriented Architecture 三个首字母单词的缩写,中文译为:面向服务架构(SOA),SOA架构与B/S 、C/S架构是目前最流行三种Web服务的基础架构。
SOA架构的由来或产生的历史原因 传统企业(数据库)应用软件产品,如MRP、ERP、OA系统等,在设计或架构上都是紧偶合、封闭式、自成体系,属于一次性投入一次性完结的产品。这样的产品很难适应或快速响应市场或客户灵活多变的需求,以及后续的扩展。在这样的市场、及客户需求下,从而催生了软件产品一种新的设计或架构的理念:面向服务架构(SOA架构)。
SOA架构的定义或特性 SOA架构,是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发。通过这种分层设计或架构体系可以使软件产品变得更加弹性和灵活,且尽可能的与第三方软件产品互补兼容,以达到快速扩展,满足或响应市场或客户需求的多样化、多变性。
ASP.NET MVC 3实现类似于Server.Transfer的效果
[
2011/12/25 22:54 | by tommyhu ]
2011/12/25 22:54 | by tommyhu ]
ASP.NET MVC的页面跳转
当我们在使用ASP.NET MVC实现页面跳转的时候,常用的应该是:
Redirect
RedirectToAction
RedirectToRoute
或者在前台使用脚本跳转。
但这几种跳转方式都是基于Get请求的,在某些特定场景下可能并不适用。例如需要传递大数据量参数、或者复杂对象类型参数的场景,get方式肯定是有限制的。
在webform里面,有一种服务器端跳转方式:Server.Transfer,相信大家一定都还记得。这种方式是中止当前页面执行,并将执行流程转入一个新的页面,并使用上一个页面创建的应答流。 这种方式具有如下的特点:
1,地址栏URL不会发生变化。
2,上一个页面后台产生的参数和对象可以直接传递到新的页面。
3,减少客户端对服务器的请求。
我们知道,ASP.NET MVC有一个核心思想,就是“约定胜于配置” ,例如在执行完一个action后,会到view目录下根据controller名称查找对应的view来进行渲染,但是 约定的做法并不意味着不能改变。
对于ASP.NET MVC而言,可以通过动态改变当前Action所渲染的view路径,来实现类似的效果。
渲染非常规路径的View
第一步,先实现一个自定义的ViewEngine:
当我们在使用ASP.NET MVC实现页面跳转的时候,常用的应该是:
Redirect
RedirectToAction
RedirectToRoute
或者在前台使用脚本跳转。
但这几种跳转方式都是基于Get请求的,在某些特定场景下可能并不适用。例如需要传递大数据量参数、或者复杂对象类型参数的场景,get方式肯定是有限制的。
在webform里面,有一种服务器端跳转方式:Server.Transfer,相信大家一定都还记得。这种方式是中止当前页面执行,并将执行流程转入一个新的页面,并使用上一个页面创建的应答流。 这种方式具有如下的特点:
1,地址栏URL不会发生变化。
2,上一个页面后台产生的参数和对象可以直接传递到新的页面。
3,减少客户端对服务器的请求。
我们知道,ASP.NET MVC有一个核心思想,就是“约定胜于配置” ,例如在执行完一个action后,会到view目录下根据controller名称查找对应的view来进行渲染,但是 约定的做法并不意味着不能改变。
对于ASP.NET MVC而言,可以通过动态改变当前Action所渲染的view路径,来实现类似的效果。
渲染非常规路径的View
第一步,先实现一个自定义的ViewEngine:
【译】MVC3 20个秘方-(20 完结)使用缓存让你的结果加载的更快
[
2011/12/25 22:37 | by tommyhu ]
2011/12/25 22:37 | by tommyhu ]
【译】MVC3 20个秘方-(20 完结)使用缓存让你的结果加载的更快
问题
随着您网站的成长,无论是普通的还是动态的内容,这两个因素导致网站载入变慢。许多用户造成了大量的web 服务器和数据库的请求。大量的数据需要强大的数据库处理能力来支持
它。为了防止花了很多钱,只需添加更多的Web服务器,更聪明的编程,以减少不必要的数据库或动态处理请求,可以明显增加你的web应用的整体速度
解决方案
使用OutputCacheAttribute去缓存那些不经常改变或只在具体action改变的数据。
讨论
在MVC3中缓存是非常容易的。简单的添加下边的attribute在一个controller的一个action上。
这将自动缓存视图的结果为600秒(或10分钟)并且共享每个用户访问此页。这意味着,如果你有1000名访问者访问在同一页上,可以减少成千上万的请求到数据库。通过简单的加载一个已经完全处理过的view,可以降低IIS的处理时间。输出缓存属性看起来很简单,但是当你开始寻找下边的引擎,它可是汽车盖子下复杂的引擎,除非你是一名机械师。(译者的意思是,你看起来很简单,但是内部实现很复杂).这个属性允许你定义了很多有关如何缓存,从期限到位置,甚至可以添加SQL依赖关系。这将在此配方探讨。
缓存的持续时间很简单:你告诉MVC视图应该缓存多少秒。位置是更复杂,这可能是客户端的浏览器,服务器,或它们的组合。对需要缓存的数据进行分析是确定在哪做缓存的好方法。如果它是个人数据,例如,一个定制的网页,缓存在本地用户的浏览器上是一件有意义的事。虽然缓存是伟大的,但也有局限性。通常情况下,主要的限制是内存,不是一切都可以缓存在服务器上。然而,最有趣的选项是SQL依赖关系。 OutputCache允许数据被缓存,直到它实际上是在数据库中的变化。这是一个非常有用的功能。例如,图书:不会每天都添加一本新书,所以这个持续时间可以被设置成24小时。然而,如果一本书在缓存过期之前就添加了或者1星期也没有新书呢?在第一种情况里,一个新的书不会以正确的方式出现,这可能会使用户不太高兴了。在第二个例子里,请求到服务器是不必要的,因为没有添加的新书。通过启用SQL依赖关系,如果book 的表变化了,缓存会尽快的重置。这完全是我们希望的效果。
提示:这是一个非常不错的功能,在其他编程语言时,你需要手动控制缓存。当数据变化时候你需要自己使缓存失效。在这一点上相信我,很容易你就落下了1-2个,忘记清空缓存。
在下边的例子,缓存将被设置到图书列表页。默认的,如果你不在VaryByPararm字段设置任何的值。MVC3 将自动的为每个可变组合创建一个独立的缓存。这是一个相当不错的功能。
然而,在这本书的例子中,一个关键字搜索字段是作为一个参数被接收的。因为输入的数以百计,而不是成千上万的不同的关键字组合,这个变量不应该被缓存(见上有关内存警告)。相反的params将被定义成排除这个变量。下面是一个更新的BooksController,使此页面上的缓存:
问题
随着您网站的成长,无论是普通的还是动态的内容,这两个因素导致网站载入变慢。许多用户造成了大量的web 服务器和数据库的请求。大量的数据需要强大的数据库处理能力来支持
它。为了防止花了很多钱,只需添加更多的Web服务器,更聪明的编程,以减少不必要的数据库或动态处理请求,可以明显增加你的web应用的整体速度
解决方案
使用OutputCacheAttribute去缓存那些不经常改变或只在具体action改变的数据。
讨论
在MVC3中缓存是非常容易的。简单的添加下边的attribute在一个controller的一个action上。
这将自动缓存视图的结果为600秒(或10分钟)并且共享每个用户访问此页。这意味着,如果你有1000名访问者访问在同一页上,可以减少成千上万的请求到数据库。通过简单的加载一个已经完全处理过的view,可以降低IIS的处理时间。输出缓存属性看起来很简单,但是当你开始寻找下边的引擎,它可是汽车盖子下复杂的引擎,除非你是一名机械师。(译者的意思是,你看起来很简单,但是内部实现很复杂).这个属性允许你定义了很多有关如何缓存,从期限到位置,甚至可以添加SQL依赖关系。这将在此配方探讨。
缓存的持续时间很简单:你告诉MVC视图应该缓存多少秒。位置是更复杂,这可能是客户端的浏览器,服务器,或它们的组合。对需要缓存的数据进行分析是确定在哪做缓存的好方法。如果它是个人数据,例如,一个定制的网页,缓存在本地用户的浏览器上是一件有意义的事。虽然缓存是伟大的,但也有局限性。通常情况下,主要的限制是内存,不是一切都可以缓存在服务器上。然而,最有趣的选项是SQL依赖关系。 OutputCache允许数据被缓存,直到它实际上是在数据库中的变化。这是一个非常有用的功能。例如,图书:不会每天都添加一本新书,所以这个持续时间可以被设置成24小时。然而,如果一本书在缓存过期之前就添加了或者1星期也没有新书呢?在第一种情况里,一个新的书不会以正确的方式出现,这可能会使用户不太高兴了。在第二个例子里,请求到服务器是不必要的,因为没有添加的新书。通过启用SQL依赖关系,如果book 的表变化了,缓存会尽快的重置。这完全是我们希望的效果。
提示:这是一个非常不错的功能,在其他编程语言时,你需要手动控制缓存。当数据变化时候你需要自己使缓存失效。在这一点上相信我,很容易你就落下了1-2个,忘记清空缓存。
在下边的例子,缓存将被设置到图书列表页。默认的,如果你不在VaryByPararm字段设置任何的值。MVC3 将自动的为每个可变组合创建一个独立的缓存。这是一个相当不错的功能。
然而,在这本书的例子中,一个关键字搜索字段是作为一个参数被接收的。因为输入的数以百计,而不是成千上万的不同的关键字组合,这个变量不应该被缓存(见上有关内存警告)。相反的params将被定义成排除这个变量。下面是一个更新的BooksController,使此页面上的缓存:
.NET 垃圾回收机制要点整理
[
2011/12/25 22:24 | by tommyhu ]
2011/12/25 22:24 | by tommyhu ]
.NET 垃圾回收机制要点整理
1. .NET资源分托管资源和非托管资源,对于托管资源,.NET GC可以很好的回收无用的垃圾,而对于非托管(例如文件访问,网络访问等)需要手动清理垃圾(显式释放)。
2. 非托管资源的释放,.NET提供了两种方式:
1).Finalizer:写法貌似C++的析构函数,本质上却相差甚远。Finalizer是对象被GC回收之前调用的终结器,初衷是在这里释放非托管资源,但由于GC运行时机的不确定性,通常会导致非托管资源释放不及时。另外,Finalizer可能还会有意想不到的副作用,比如:被回收的对象已经没有被其他可用对象所引用,但Finalizer内部却把它重新变成可用,这就破坏了GC垃圾收集过程的原子性,增大了GC开销。
2).Dispose模式:C#提供using关键字支持Dispose Pattern进行资源释放。这样能通过确定的方式释放非托管资源,而且using结构提供了异常安全性。所以,一般建议采用Dispose Pattern,并在Finalizer中辅以检查,如果忘记显式Dispose对象则在Finalizer中释放资源。
1. .NET资源分托管资源和非托管资源,对于托管资源,.NET GC可以很好的回收无用的垃圾,而对于非托管(例如文件访问,网络访问等)需要手动清理垃圾(显式释放)。
2. 非托管资源的释放,.NET提供了两种方式:
1).Finalizer:写法貌似C++的析构函数,本质上却相差甚远。Finalizer是对象被GC回收之前调用的终结器,初衷是在这里释放非托管资源,但由于GC运行时机的不确定性,通常会导致非托管资源释放不及时。另外,Finalizer可能还会有意想不到的副作用,比如:被回收的对象已经没有被其他可用对象所引用,但Finalizer内部却把它重新变成可用,这就破坏了GC垃圾收集过程的原子性,增大了GC开销。
2).Dispose模式:C#提供using关键字支持Dispose Pattern进行资源释放。这样能通过确定的方式释放非托管资源,而且using结构提供了异常安全性。所以,一般建议采用Dispose Pattern,并在Finalizer中辅以检查,如果忘记显式Dispose对象则在Finalizer中释放资源。
2011年各城市年终奖排行,带你盘点年终奖那点事!
[
2011/12/23 11:38 | by tommyhu ]
2011/12/23 11:38 | by tommyhu ]
2011年底了,辛苦一年的朋友们的热门话题就是年终奖了,能发多少,什么时候发,都指望着这年终奖给新年带来快乐的心情,有的大发的公司或企业,像大众一样,发了年终奖也能存上一笔了,在这里tommy整理了一些关于年终奖的关注,一起来分享;2011年各城市年终奖排行,带你盘点年终奖那点事

【全国各城市年终奖排行榜】
北京5008元;上海4874元;深圳4611元;广州4486元;杭州4270元;苏州3965元;南京3937元;东莞3882元;宁波3803元;成都3616元;天津3495元;大连3421元;重庆3381元;昆明3349元;福州3346元;青岛3340元..
有人年终奖发了27个月工资,亲你的年终奖呢
随着2011年最后一月进入“尾声”,各企业年终奖成了年根热词,网上晒奖金的帖子更是密集了许多,而各行业之间难免攀比。可如果年终奖发了27个月的薪水,这算不算有些“耸人听闻”。某公司年底发27个月薪水的消息在论坛和微博上疯传,甚至有人计算出,包括每月发的双薪在内,这个公司的员工全年可能挣到63个月的薪水。听到这个有木有内流满面,亲说好的年终奖呢?
年终奖就是老板给予员工不封顶的奖金,有的还包括了旅游奖励、物质奖励等,是一年来的工作业绩奖励,也是可给可不给的一个项目。年终奖的发放额度和形式一般由企业自己根据情况调整。好的年终奖办法要有较好的考评指标、评价方法、发放规则等等相应的各项制度,可以有效激励员工,增加企业凝聚力。
年终奖与跳槽

得到年终奖后就跳槽,从事多年人事管理工作的刘先生认为,员工跳槽要做好充分的准备,对自己的职业规划和工作环境进行评定,分析一下跳槽的得失。对新的单位也要考察好,“我周围有很多跳槽后反而后悔的,因此要分析好是单位的原因还是自己的原因,不能盲目跳槽。”
年终奖是年前发还是年后发
先来看副有趣的漫画

经查“年终奖是公司鼓励员工的一种方式。不是国家要求强制性执行的,企业根据经营效益情况,可发也可不发。发放时间也可以不确定……”,建议打工者进入企业前应该做相应咨询或以条文形式出现在劳动合同中……
年终奖同样需要交税
【全国各城市年终奖排行榜】
北京5008元;上海4874元;深圳4611元;广州4486元;杭州4270元;苏州3965元;南京3937元;东莞3882元;宁波3803元;成都3616元;天津3495元;大连3421元;重庆3381元;昆明3349元;福州3346元;青岛3340元..
有人年终奖发了27个月工资,亲你的年终奖呢
随着2011年最后一月进入“尾声”,各企业年终奖成了年根热词,网上晒奖金的帖子更是密集了许多,而各行业之间难免攀比。可如果年终奖发了27个月的薪水,这算不算有些“耸人听闻”。某公司年底发27个月薪水的消息在论坛和微博上疯传,甚至有人计算出,包括每月发的双薪在内,这个公司的员工全年可能挣到63个月的薪水。听到这个有木有内流满面,亲说好的年终奖呢?
年终奖就是老板给予员工不封顶的奖金,有的还包括了旅游奖励、物质奖励等,是一年来的工作业绩奖励,也是可给可不给的一个项目。年终奖的发放额度和形式一般由企业自己根据情况调整。好的年终奖办法要有较好的考评指标、评价方法、发放规则等等相应的各项制度,可以有效激励员工,增加企业凝聚力。
年终奖与跳槽
得到年终奖后就跳槽,从事多年人事管理工作的刘先生认为,员工跳槽要做好充分的准备,对自己的职业规划和工作环境进行评定,分析一下跳槽的得失。对新的单位也要考察好,“我周围有很多跳槽后反而后悔的,因此要分析好是单位的原因还是自己的原因,不能盲目跳槽。”
年终奖是年前发还是年后发
先来看副有趣的漫画
经查“年终奖是公司鼓励员工的一种方式。不是国家要求强制性执行的,企业根据经营效益情况,可发也可不发。发放时间也可以不确定……”,建议打工者进入企业前应该做相应咨询或以条文形式出现在劳动合同中……
引用
年关将近,双薪、年终奖、花红,是很多人盼望过年的理由之一。能拿到年终奖当然皆大欢喜,可有些员工却因为发放年终奖时已经离职或跳槽而不能拿到年终奖,有些公司为了留住员工而推迟发放年终奖。有媒体更刊发《“迟发年终奖防人才跳槽”既违法又失德》的评论,指出这种做法既不符合《劳动法》,也踏入了道德失范的泥沼。
那么这些公司的做法是否合理?员工该如何维护自己的正当权益呢?记者请教了有关法律专家。法律专家指出,虽然无法找到关于“年终奖推迟发放不合法”的直接法律规定,但只要公司违背承诺、违反单位规章制度等文件,推迟发放年终奖肯定不合法。此外,“不在册”或者离职的员工只要在这一年度中为单位付出了劳动,用人单位就应根据其工作时间折算发放年终奖。
原文:http://life.dayoo.com/edu/201002/01/75163_11920594.htm
那么这些公司的做法是否合理?员工该如何维护自己的正当权益呢?记者请教了有关法律专家。法律专家指出,虽然无法找到关于“年终奖推迟发放不合法”的直接法律规定,但只要公司违背承诺、违反单位规章制度等文件,推迟发放年终奖肯定不合法。此外,“不在册”或者离职的员工只要在这一年度中为单位付出了劳动,用人单位就应根据其工作时间折算发放年终奖。
原文:http://life.dayoo.com/edu/201002/01/75163_11920594.htm
年终奖同样需要交税
1、昨天游完泳,直接把后备箱打开,钥匙丢进去,然后关上后备箱……穿着三点式在野外等了一个半小时。
2、有一次煮饭,淘完米直接把米倒进没放内锅的电饭煲中...后来拿吹来吹啊吹....
3、就发生在中午,丢人啊~
中午打算叫楼下面馆送碗刀削面来吃吃~
脑袋也不知道想什么~电话通后,我直接说:“您好~麻烦送一碗刀削面”,后面就听到我妈妈的声音出现:“女儿!你中午想吃刀削面啊!”
我妈刚开始还觉得有点莫名其妙,回过神来就大笑~~我当时也愣了下~ 脸都红了,尴尬啊~~
4、第一天上班 有人电话找经理(女的) 把电话给经理顺便说了一声 妈,有人找你接电话
5、戴着眼镜(框式的)洗脸。镜片上一片迷茫………………
淘宝赵超职场分享:从P1到P7——我在淘宝这7年!
[
2011/12/16 07:41 | by tommyhu ]
2011/12/16 07:41 | by tommyhu ]








tommyhu:
