柔情似水 发表于 2015-1-18 11:16:06

ASP.NET网页设计const string 和 static readonly string的区分仓酷云

我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高net网页编程的运行效率。只是将net网页编程源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。当跨assemblies的时分要出格注重二者的区分,请看这篇文章
ifthescopeofyourconstantislimitedtojustoneassembly,class,orsmaller(youcandefineaconstinsideamethod),thisisnotabigdeal.However,iftheconstisvisibleoutsidetheassemblyitisdefinedin,wemustbewary!Becausetheconst’svalueissubstitutedatcompiletime,thismeansthatiftheassemblythatdefinestheconstchangesitsvalue,butthecallingassemblyisn’trecompiled,thenthecallingassemblywillstillseetheoriginalvalue.
Let’sillustrate.AssumeaclasslibrarycalledShapes.DLLthatdefinesthis:


1:publicclassCircle2:{3:publicconstdoublePi=3.14;4:5://...6:}

Nowlet’sassumeaseparateprogramcalledDrawing.EXEaddsareferencetoShapes.DLLandusestheconst:


1:publicstaticclassDrawing2:{3:publicstaticvoidMain()4:{2:{06:}2:{2

Ifwerunthis,weget:


2:{3

Nowlet’ssayduringtheQAprocesssomeonedecidesthatthisvalueofPiisnotpreciseenoughandchangesthedefinition:


2:{4

AndtheyrebuildtheShapes.DLLandjustdropitintothedeploymentdirectoryforDrawing.EXEwithoutrebuildingit.WhathappensifwerunDrawing.EXEagainwithoutrecompiling?Weget:


2:{3

Whoa!EventhoughwechangedthevalueofPiinourreferencedassemblyanddeployedittowhereDrawing.EXEexpecteditandDrawing.EXEloadedit,itstillprints3.14.Thisisbecauseconstisacompile-timesubstitution.Thus,ifyouchangethevalueofaconst,itwillnotbepickedupuntilthecodeusingitisrecompiledaswell.IfwerecompileandrunDrawing.EXE,wewillget:


2:{6

Thus,constshouldbeusedmainlyforvaluesthatarenotsubjecttochange,orfreelyifthescopeoftheconstislimitedtothesameassemblyorsmaller.
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)

飘灵儿 发表于 2015-1-18 16:10:57

Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的工具。

若相依 发表于 2015-1-22 09:33:46

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

简单生活 发表于 2015-1-31 05:50:39

使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

灵魂腐蚀 发表于 2015-2-6 17:33:44

使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

再见西城 发表于 2015-2-12 19:49:04

众所周知,Windows以易用而出名,也因此占据不少的服务器市场。

深爱那片海 发表于 2015-3-3 05:23:51

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

愤怒的大鸟 发表于 2015-3-8 14:54:01

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

活着的死人 发表于 2015-3-16 02:33:19

众所周知,Windows以易用而出名,也因此占据不少的服务器市场。

只想知道 发表于 2015-3-22 18:48:35

但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
页: [1]
查看完整版本: ASP.NET网页设计const string 和 static readonly string的区分仓酷云