若天明 发表于 2015-1-18 11:20:54

ASP.NET网页设计孤单云云俊丽:离开Application_Start,让初始化代码更幽美仓酷云 ...

c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。  这里的“孤单”指的是将ASP.NET程序中的初始化代码从Global.asax.cs的Application_Start()办法中,移至独自的程序会合,而且这个程序集与Web项目标程序集没有任何交往。好比,初始化代码地点的程序集叫CNBlogs.BootStrapper,Web项目标程序集叫CNBlogs.Web,在VisualStudio中,这两个项目之间没有任何援用干系。
  由于低耦合而变得孤单,代码却因而变得更美。在生存中,孤单可让人坚持心坎的和平,能够享用更多思索之美。
  这篇文章经由过程两种办法让初始化代码变得更幽美:
  1)PreApplicationStartMethod(ASP.NET4.0的新特征,详见这里)。
  2)Bootstrapper(codeplex上的开源项目,详见http://bootstrapper.codeplex.com/)。
  利用Application_Start()的场景
  先看一下不利用Bootstrapper,间接在Application_Start()举行初始化的示例代码:
publicstaticvoidRegisterGlobalFilters(GlobalFilterCollectionfilters){filters.Add(newHandleErrorAttribute());}publicstaticvoidRegisterRoutes(RouteCollectionroutes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute("Default","{controller}/{action}/{id}",new{controller="Home",action="Index",id=UrlParameter.Optional});}protectedvoidApplication_Start(){//MVC的注册AreaRegistration.RegisterAllAreas();RegisterGlobalFilters(GlobalFilters.Filters);RegisterRoutes(RouteTable.Routes);//IOC容器的注册varcontainer=IoCFactory.Instance.CurrentContainter;container.RegisterType<IBlogSiteService,FakeBlogSiteService>();container.RegisterType<IBlogPostService,FakeBlogPostService>();}  这是一种经常使用场景,在Application_Start()中完成一些初始化注册与设置,但这些代码堆在一同,看着老是不扎眼。
  当利用了测试驱动开辟(TDD)以后,不但看着不扎眼,并且用着也不伏手,由于在测试项目中也要举行初始化,但测试项目没法挪用Application_Start()办法。
  我们事先将这部分初始化代码移至自力的程序集(CNBlogs.BootStrapper),就是由于测试所需。自力出来后,Application_Start()与测试项目都经由过程挪用CNBlogs.BootStrapper.Initializer.Initialize()办法完成初始化。
  如许固然自力了,但其实不孤单,也不俊丽。由于:
  1.Web项目要依附CNBlogs.BootStrapper;
  2.这些初始化代码仍然堆在一些,只是换了个中央。
  办理办法
  针对第一个成绩

金色的骷髅 发表于 2015-1-20 20:50:39

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

分手快乐 发表于 2015-1-24 10:09:59

大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。

再见西城 发表于 2015-1-24 16:30:16

主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。

第二个灵魂 发表于 2015-2-2 10:49:08

现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。

山那边是海 发表于 2015-2-6 20:02:27

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。

仓酷云 发表于 2015-2-7 18:13:15

网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!

兰色精灵 发表于 2015-2-10 02:09:04

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

小女巫 发表于 2015-2-12 10:29:05

ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。

精灵巫婆 发表于 2015-2-12 18:52:18

ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。

admin 发表于 2015-2-26 21:51:43

ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。

只想知道 发表于 2015-3-8 18:01:36

但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。

若相依 发表于 2015-3-10 17:52:22

JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

柔情似水 发表于 2015-3-11 20:36:18

那么,ASP.Net有哪些改进呢?

活着的死人 发表于 2015-3-12 07:15:48

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

飘飘悠悠 发表于 2015-3-19 18:38:52

提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。

飘灵儿 发表于 2015-4-1 16:39:12

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
页: [1]
查看完整版本: ASP.NET网页设计孤单云云俊丽:离开Application_Start,让初始化代码更幽美仓酷云 ...