仓酷云

标题: ASP.NET教程之在Framework4.0中怎样完成提早加载 [打印本页]

作者: 老尸    时间: 2015-1-16 22:18
标题: ASP.NET教程之在Framework4.0中怎样完成提早加载
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。</p>提早加载,亦称提早实例化,提早初始化等,次要表达的头脑是,把工具的创立将会提早到利用时创立,而不是在工具实例化时创立工具,即用时才加载。这类体例有助于进步于使用程序的功能,制止华侈盘算,节俭内存的利用等。针关于这类做法,仿佛称之为即用即创立更加符合些。
先来看一下在Framework4.0中怎样完成提早加载。
Framework4.0供应了一个包装类Lazy,能够轻松的完成提早加载。


本例中TestLazy.GetString()办法以下示:


能够经由过程IsValueCreated属性来断定工具是不是已创立,经由过程Value属性来猎取以后工具的值。


上面经出完全代码,以供测试:


上面再用一个例子,演示提早加载:
在这个例子中,利用了BlogUser工具,该工具包括多个Article工具,当加载BlogUser工具时,Article工具其实不加载,当必要利用Article工具时,才加载。


运转了局如图示:



最初说一下,提早加载次要使用场景:
当创立一个工具的子工具开支对照年夜时,并且有大概在程序顶用不到这个子工具,那末能够思索用提早加载的体例来创立子工具。别的一种情形就是当程序一启动时,必要创立多个工具,但唯一几个工具必要当即利用,如许就能够将一些不用要的初始化事情提早到利用时,如许能够十分无效的进步程序的启动速率。
这类手艺在ORM框架失掉了普遍使用,也并不是C#独占的,好比Java里的Hibernate框架也利用了这一手艺。
我实在想不明白java的机制,为什么非要那么蛋疼,在同一个平台下重复编译。
作者: 柔情似水    时间: 2015-1-19 08:04
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
作者: 小妖女    时间: 2015-1-24 17:55
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者: 若相依    时间: 2015-2-2 11:41
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
作者: 冷月葬花魂    时间: 2015-2-7 19:19
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
作者: 深爱那片海    时间: 2015-2-23 04:05
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 活着的死人    时间: 2015-3-7 06:10
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
作者: 透明    时间: 2015-3-21 10:32
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2