仓酷云 发表于 2015-1-16 22:36:47

ASP.NET网页编程之对ASP.NET 2.0上面的新控件的狐疑

我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?asp.net|控件  人人晓得在ASP.NET2.0上面微软件给出了一体系的新控件,有一些是挺有效的,好比谁人Membership成员办理体系,和分步导游控件都为我们节俭了良多的工夫,而别的一些,好比从Datagrid上晋级来的Gridview偶然候感到倒不是那末好。
  这个控件在为我们供应很年夜的便利的同时也得到天真性,好比间接指定一个SQL语句就能够完成数据会见的事情,而分页显现,排序更是比用饭还复杂。尽人皆知,这是与我们分层的逻辑架构计划相违反的,如许就形成了一个为难的场合排场,老手很难单单只依附这些控件做出功效壮大而完美的程序,更要命的是,它封装了良多的操纵,而我们其实不分明它在背景是怎样运作的,关于老手来讲,万一出了成绩他们基本不晓得成绩出在那里,而有履历的程序员一定不会接纳云云丢脸计划。要用它完成晋级等操纵的时分我们会请求对输出的内容举行考证也对照不便利,而该控件运转时会天生复杂的ViewState字段形成效力下落,至于在年夜数据量上面的分页功能就更不必说了,固然如今能够把DataSet作二进制序列化,可是了局仍不尽人意。那末我们就要问如许的控件存在的代价究竟在那里呢?
  GridView固然能够做分页,可是它供应的分页款式也就那些,假如要手动界说很贫苦。话又说返来,假如必要十分壮大的数据操纵,好比多列排序,汇总,导出,算计,乃至拖放等等庞大的功效还不如借助别的的手腕来完成,好比贸易控件和利用智能客户端平台更便利一些。GridView的数十个款式属性的计划也是很糟的,固然你能够用这些属性做出十分花狸狐哨的用户界面,可是一旦一个项目无数十个GridView的时分要修正的事情几乎不成设想,以是,我们还得借助CSS如许壮大的工具来界说它的款式的。
  一样鸡肋的另有谁人SQL数据源控件,把做程序弄得云云简化,固然在年夜型项目内里没有甚么有用代价,我以为仍是有必定的优点的,最少它能够进步对编程感乐趣程度又不高的人的信念,想昔时我恰是瞎子摸象般用DW的主动编码功效做了个团体网站出来玩,固然它天生的代码是那末的丢脸,逻辑是那末的凌乱,厥后我还依附满腔的激情亲切投进到编程傍边,不然我也不会走到明天了。
  我对照看好的是谁人叫做ObjectDataSource的数据源控件,为何呢,它能够在背景自在地把持程序逻辑,让每步的操纵都很通明,加上使用泛型供应的壮大特征让我们的程序看起来感到不错。而数据源为我们前台数据绑定事情节俭了很多的工夫,好好的使用这一特征能够为我们的程序带来良多的便当。
  熟习微软的StarterKit的伴侣都晓得内里有一个团体网站的示例程序,就是工具数据源使用的很典范的例子,在这个程序中能够说是把ASP.NET2.0供应的新控件特征发扬到了极尽描摹,用大批的代码就完成了良多的逻辑事情。可是它究竟只是团体的站罢了,良多中央的事情做得还很不敷,好比说我能够提交一个空的表单,它其实不作任何的反省等。
  总之,这些新控件公道使用仍是会年夜年夜进步效力的,而且也给了编程程度不高的伴侣们一个C#锋利新体验的时机。从功效上说团体以为比DW那种三脚猫的手段很多多少了,很多多少人还在会商在DW上面怎样编程,其实有些不当,DW更合适做界面一些。
  关于分页的成绩,我比来正在做一个ASP.NET2.0上面的分页控件,整体上讲是从1.1内里MSDNSQLPAGER基本上晋级改革过去的器材,一是程序上到2.0的迁徙,二是做成了用户控件的情势,如许分页的款式能够依据本人的喜欢自在扩大,而且可使用微软的最新企业库的数据会见块举行与数据库的通信,可使用数据缓存大概只读取必要的纪录,进步了效力。今朝已基础竣工将在新日公布,接待人人存眷。同时因为本身程度与精神无限,不免有一些不敷和弱点,不外人人宁神,这个控件开辟源代码,您能够对它举行自在的扩大,如果有成绩的话也能够从源代码排查修改。
  关于年夜数据分页的成绩明天在网上看到了一个老外的器材好象挺成心思的,近期我会抽一些工夫翻译出来贡献给人人,这里是源文地点,粗心是使用SQLSERVER2005的ROW_NUMBER()特征来事情。
说句实话,Java跨平台根本就不是外行人想想的那种,一次编译,处处运行。

admin 发表于 2015-1-19 18:35:49

逐步缩小出错代码段的范围,最终确定错误代码的位置。

海妖 发表于 2015-1-24 18:42:09

我的意思是.net好用,从功能上来说比JAVA强还是很明显的。

因胸联盟 发表于 2015-2-2 11:49:31

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

仓酷云 发表于 2015-2-7 19:28:06

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

深爱那片海 发表于 2015-2-23 08:08:49

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

老尸 发表于 2015-3-7 06:07:05

Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。

透明 发表于 2015-3-14 13:40:54

有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。

精灵巫婆 发表于 2015-3-21 09:23:11

可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
页: [1]
查看完整版本: ASP.NET网页编程之对ASP.NET 2.0上面的新控件的狐疑