大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> 为什么选择VB.NET?(转贴)

为什么选择VB.NET?(转贴)

时间: 2021-07-31 作者:daque

对于.net,人们比web运用步调加入了更大的关心。vb第一次许诺,不妨特殊供给对遏制台步调以及windows效劳的扶助。由于这一点,rob macdonald回过甚来问:用vb.net毕竟不妨做什么?换一句话说,vb.net能否符合你?暂时为止,很多软硬件公司(囊括microsoft)都将她们的产物收缩在一个安置包里供给给开拓职员。咱们就从来忍耐着那些令人头痛的摆设和本子配合的题目。咱们为了产物在如实情况中的运转挖空心思。为了尝试,咱们还要耗费洪量的功夫来树立一个纯洁的呆板。接下来的几年中,绝大普遍的软硬件供给商和独力软硬件开拓处事室将解脱如许的处事,因为很大略――这太好了。打个比如吧,当microsoft office xp加入商场时,你既不妨采用依照从来产物包的价钱购置,大概付出小批的承诺用度进而租借一年。将软硬件象产物那么的交易变化为租借效劳的办法,这即是一局部的变化本领。最后,我想你不妨不用在你的pc中(大概pda,手机,冰箱,不管什么)安置任何货色。你只须要经过长久在线的搜集,找到寄存你所须要软硬件的那台效劳器即可。在某些范围,这仍旧是很一致了(web e-mail效劳即是一个绝佳的例子)。然而,当大普遍的软硬件都不妨经过如许的办法赶快的赢得时,对咱们如许的开拓职员来说,是否符合呢?所以,从那种水平而言,我觉得microsoft推出vb.net即是试图扶助咱们那些开拓职员为那些行将光临的以效劳为重心的典型做好筹备。web效劳之以是遭到如许多的关心,是由于经过那些本领(http,xml,soap),任何操纵体例(囊括windows, linux, ibm, palm)都将有大概以如许的办法创造并供给各自的效劳。这固然也局部证明了干什么http,xml,soap都是那么的大略。由于计划机自己就必需“读懂”她们。固然,并不是一切的运用步调都不妨经过鉴于效劳的办法来赢得。vb.net对准实行桌面上的少许新的、更好的运用,供给了少许真实本质的新个性。举例而言,在vb6中运用的那些“时髦的”窗体只实用于vb,而在.net中新的windows窗体不只不妨供给给其余.net谈话运用,并且再有少许宏大的革新。我更加欣喜的看到,它对窗口缩放的扶助,往日这都是须要我本人编写的,此刻我只有大略的点击鼠标就不妨创造起窗口缩放的准则。遏制台步调vb.net带来最大的长处之一即是它承诺vb开拓职员实行少许往日做不了的事。如类的接受和构造化的缺点处置。另一项让咱们持久等候的功效即是它不妨用来编写那些经过吩咐行和用户交互的运用步调了。vb.net使这个处事变得大略,同声保持了一切.net的功效。在visual studio.net中,你不妨创造一个新的工程,叫作“遏制台步调(console application)”。本来,你实足也不妨不经过visual studio来创造vb.net的运用步调。你真实须要的不过.net framework sdk和登记本,由于vb编写翻译器动作一个实足独力的产物,仍旧和visual studio摆脱了。(究竟上,不管是编写翻译vb的步调,仍旧为已设置的数据集机动天生源代码,那些visual studio.net可见神秘的功效,都是经过.net framework中附带的东西来实行的。visual studio.net不过把她们集成到了一个易用的开拓情况中。动作独力的吩咐行软硬件她们都是可用的。)就让咱们用吩咐行的办法创造一个吩咐行的步调吧。以次为我在登记本中输出的少许文本,并把它生存为文献“speaktome.vb”:imports systemimports microsoft.visualbasicmodule module1sub main()dim i, count as integertrycount = cint(command())for i = 1 to countconsole.writeline("hello")nextcatchconsole.writeline("invalid argument")end tryend subend module这段代码依照count数值,轮回运转几何次,历次依照规范输入文本流,输入“hello”。缺省的它即是一个吩咐行遏制步调。步调经过挪用command()因变量初始化count变量,它代替了咱们在vb6中熟习归来吩咐行中在步调名反面展示的一切文本的全部变量command。纵然那些代码仍旧是十分的径直了,咱们仍旧须要少许证明。开始,咱们提防到一发端它就运用imports申领会对两个名字空间的援用。名字空间system包括了console类,而名字空间microsoft.visualbasic则包括了吩咐因变量,囊括十足很多新的功效。当你在visual studio中创造一个vb.net工程时,那些名字空间会被机动的导出,但当咱们径直运用编写翻译器的功夫,咱们就须要本人细工的增添她们了。而且提防我证明我那两个变量的办法。在vb6中,象如许的dim证明,会创造一个variant,一个平头,但在.net中。这种保守的vb办法完全消逝了,我获得了我所预期的两个平头。vb.net编写翻译器不妨处置各别的参数,但当我不过将.vb文献动作一个简单的参数传播给它时,它将编写翻译一个和它同名的exe文献。图1(http://msdn.microsoft.com/library/en-us/dnvbdev01/html/rob0301fig1.jpg)表露了当我编写翻译完这个步调时的遏制对话。(编写翻译器叫作“vbc”)吩咐行的编写翻译器使得机动化的编写翻译过程变得大略。不妨编写遏制台运用步调,对于vb来说,固然微乎其微但真实是一次有价格的扩充。windows效劳另一种新典型的运用步调是windows效劳。除去那些胆大的vb开拓职员,这大概胜过了其余人的视线。典范的,这是少许持久运转的步调,而并不须要依附登委派户或存户步调来维持它的运转。它们没有本人的用户界面,不妨在它们本人独占的安定级别和对话左右文中运转。咱们比拟熟习的windows效劳典型包括了从打字与印刷池到sql效劳器以及它的散布式工作协调(dtc)。效劳只不妨运转在nt和2000下运转,它们经过microsoft management console (mmc)供给了一个特意的处置界面。你不妨设想,编写一个效劳会波及到特殊多的实质,在这边我不大概耗费太多的篇幅,然而我不妨报告你怎样创造一个大略的样例。在.net beta1版的在线扶助中,有很多关系的消息-在写这篇专栏时我就在运用beta1版--即使你安排创造一个可操纵的windows效劳步调,你该当提防的看一看。我引见一下我将创造的windows效劳原形,它用来记载指定的呆板上正在运转的过程数目。是的,我领会我不妨运用perfmon来实行这个功效,然而我不过假装我想扩充我的效劳,再不它不妨计划少许统计功效,并把她们写入数据库,大概还不妨在胜过某一个阀值时,发mail给我。我开始发端创造一个新的visual studio.net运用步调,采用vb动作我的开拓谈话,而工程典型则是windows效劳。这个操纵机动为我创造了一个新的类,它是接受了.net内建了system.serviceprocess.servicebase类。同声它供给给我一个可视化的安排器,一个图形化的赶快开拓东西,它更加的为那些自己没有效户界面包车型的士工程。我不妨点击这个安排器,设定我的效劳的名字(我定名为"process tracking")。接着我从东西栏中拖了两个元件到安排器中-一个performancecounter元件、一个timer元件。我不妨树立经过属性栏来树立它们,发觉上她们是那种可视的控件,纵然我不须要一个窗体来安置它们。我摆设timer每60秒激活一次,performancecounter则用来监察和控制在我呆板上运转的过程数目。你不妨在图2(http://msdn.microsoft.com/library/en-us/dnvbdev01/html/rob0301fig2.jpg)中瞥见安排器和performancecounter元件的属性树立。(我不妨在安排器和代码窗口之间举行切换,就如我创造一个窗体一律。)visual studio天生缺省的sub main,用来处置发端效劳的运转。由于你的代码是从servicebase类中接受来的,那么在效劳的人命周期中,你不妨获得少许规范事变。那些事变在效劳的人命周期中是至关要害的。它们是:• onstart • onstop • onpause • oncontinue • onshutdown 那些代码和vb6窗体中的load/unload/activate/deactivate事变特殊象。这边是我对onstart和onstop安排的源代码:protected overrides sub onstart(byval args() _as string)dim fs as new filestream ( "c:\log.txt", _filemode.openorcreate, fileaccess.write)dim sw as new streamwriter(fs)sw.basestream.seek(0, seekorigin.end)sw.writeline("service started: " + cstr(now()))sw.close()end subprotected overrides sub onstop()dim fs as new filestream("c:\log.txt", _filemode.openorcreate, fileaccess.write)dim sw as new streamwriter(fs)sw.basestream.seek(0, seekorigin.end)sw.writeline("service stopped: " + cstr(now()))sw.close()end sub那些例程都是翻开一个log.txt的文献,写入一个带有功夫戳的大略消息。streamwriter类供给了咱们一个灵验的本领来创造一个字符流,而filestream类则承诺将streamwriter类和一个物理文献接洽起来。封闭streamwriter同声也封闭了他所贯穿的文献。public sub timer1_tick(byval sender as object, _byval e as system.eventargs) handles timer1.tickdim logrecord as string = cstr(now())+ ""dim fs as new filestream("c:\log.txt", _filemode.openorcreate, fileaccess.write)dim sw as new streamwriter(fs)logrecord += performancecounter1.nextvalue.tostringsw.basestream.seek(0, seekorigin.end)sw.writeline(logrecord)sw.close()end sub如你所见,代码用暂时的功夫初始化了一个字符串,并将它和从performancecounter读出的值(它归来了暂时在我呆板上运转的过程数目)贯穿起来。而后将这个字符串写入log文献的结果。将这个工程变化为效劳的话,须要比大略的编写翻译它多做少许。开始,你须要减少少许安置代码,如许步调在动作效劳被安置后就能平常处事了。很倒霉,可视化的安排器供给了菜单选项("add installer"),它不妨机动的天生这段代码。而后,在你编写翻译了这个工程后,你须要在吩咐奇迹态下运转installutil.exe(这是.net sdk的东西之一)处置已编写翻译的工程,如许就将效劳安置到了你的体例上并创造必需的备案表名目。一旦安置了效劳,咱们须要启用它-经过效劳处置东西这一点都不难。各别的体例,考察这个东西的本领也各别。在windows 2000 professional中,你不妨在遏制面板中的处置东西获得。在图3(http://msdn.microsoft.com/library/en-us/dnvbdev01/html/rob0301fig3.jpg)中,你不妨看到效劳仍旧被手动启用了。你也不妨看到它被摆设为机动启用,这就表示着下次我启用我的体例,效劳就发端运转,以至在我还没有登录体例之前。图4(http://msdn.microsoft.com/library/en-us/dnvbdev01/html/rob0301fig4.jpg)表露了在我的体例上,这个效劳天生的局部log。在这功夫,我创造了少许过程,退出登录,再次登录,重启呆板(这也引导了效劳的从新启用)。.net工程典型我提防引见了两类一定的vb.net工程。对于vb开拓职员不妨实行的工程典型都列在了表第11中学(不管怎样,在beta第11中学)再有少许和独力于谈话的工程典型,如:安置,摆设工程,数据库工程,以及领会工程。工程典型 刻画windows application 经过windows 鉴于窗体的用户界面天生运用步调。class library 为其余运用步调中天生class libraries。windows control library 在鉴于windows的控件。web application 用静态或动静web页面动作用户界面天生运用步调。web service 从其它运用步调中天生 web services 。web control library 天生在web 运用步调中的控件。console application 用来天生吩咐行运用步调。windows service 为windows天生效劳。展现遏制台与效劳运用步调的因为之一是要夸大一点:vb.net 并不强迫咱们都要形成n层 web开拓职员。 究竟上,microsoft洪量入股以供给对保守桌面运用步调的扶助。固然.net表示着要进修洪量的新货色,你不妨把vb.net看作是 一场野心勃勃的大变化—它会扫清vb的少许缺点,在供给向后兼容的基础下, 把它推向昌盛。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.