仓酷云

标题: ASP.NET网页编程之C#体验Microsoft.NET平台基本机关 [打印本页]

作者: 简单生活    时间: 2015-1-16 22:33
标题: ASP.NET网页编程之C#体验Microsoft.NET平台基本机关
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。microsoft<P>  抛开Microsoft.NET平台往谈C#是没成心义的,C#之“Sharp”也正在厥后端壮大的平台。仅仅拘泥于语法层面是体验不了C#的锋利的地方的,C#程序良多诡秘的地方必需依托Microsoft.NET平台才干深度的把握和使用。复杂的讲,Microsoft.NET平台是一个创建在开放互联收集协定和尺度之上,接纳新的工具和服务来满意人们的盘算和通讯需求的反动性的新型XMLWeb智能盘算服务平台。它同意使用程序在因特网上便利快速地相互通讯,而不用体贴利用何种操纵体系和编程言语。<P>  从手艺层面详细来讲,Microsoft.NET平台次要包含两个内核,即通用言语运转时(CommonLanguageRuntime,简称CLR)和Microsoft.NET框架类库,它们为Microsoft.NET平台的完成供应了底层手艺撑持。通用言语运转时是创建在操纵体系最底层的服务,为Microsoft.NET平台的实行引擎。Microsoft.NET框架包含一套可被用于任何编程言语的类库,其目标是使得程序员更简单地创建基于收集的使用和服务。在此之上是很多使用程序模板,这些模板为开辟收集使用和服务供应初级的组件和服务。Microsoft.NET平台之众多尽非这里的几千字可以澄清,我们上面将侧重体验那些对我们用C#开辟使用程序相当主要的平台基本机关。<P>通用言语运转时(CLR)<P>  通用言语运转时是全部Microsoft.NET框架赖以建构的基本,它为Microsoft.NET使用程序供应了一个托管的代码实行情况。它实践上是驻留在内存里的一段代办署理代码,卖力使用程序在全部实行时代的代码办理事情,对照典范的有:内存办理,线程办理,平安办理,远程办理,立即编译,代码强迫平安范例反省等。这些都可称得上Microsoft.NET框架的性命线。<P>  实践上我们能够看出来,CLR代办署理了一部分传统操纵体系的办理功效。在CLR下的代码称之为托管代码,不然称为非托管代码。我们也可将CLR看做一个手艺标准,不管程序利用甚么言语编写,只需能编译成微软两头言语(MSIL),就能够在它的撑持下运转,这使得使用程序得以自力于言语。今朝撑持CLR的编程言语多达二三十种。微软两头言语是我们在Microsoft.NET平台下编译器输入的PE文件的言语。它是Microsoft.NET平台最完全的言语集,十分相似于PC机上的汇编言语。立即编译器在运转时将两头言语编译本钱地二进制代码。它为Microsoft.NET平台供应了多言语的底层手艺撑持。别的依据必要,Microsoft.NET立即编译器供应了特别情形下的经济型立即编译和安装时编译手艺。<P>  CLR的计划目标即是间接在使用程序运转情况中为基于组件的编程供应第一等的撑持。正如在Windows中增加了对窗口、控件、图形和菜单的间接撑持,为基于动静的编程增加了底层布局,为撑持设备有关性增加了笼统内容一样,CLR间接撑持组件(包含属性和事务)、工具、承继性、多态性和接口。对属性和事务的间接撑持使得基于组件的编程变得更复杂,而不必要特别的接口和适配计划形式。在组件运转时,CLR卖力办理内存分派、启动和中断线程和历程、强化平安系数,同时还调剂任何该组件触及到的其他组件的从属设置。序列化撑持同意以多种格局操纵存储在磁盘上的组件,包含基于业界尺度XML的SOAP。CLR供应了处置毛病前提的无力、和谐的体例。每一个模块都具有内置的完全的元数据,这意味着诸如静态创立和办法挪用之类的功效更简单,也更平安。映照乃至同意我们天真地创立和实行代码。我们能够把持使用程序利用的组件的版本,这使使用程序加倍牢靠。组件代码是与处置器有关的和易于考证的两头言语(IL),而不是某一种特定的呆板言语,这意味着组件不仅能够在多种盘算机上运转,并且能够确保组件不会掩盖它们不利用的内存,也不会潜伏地招致体系溃散。CLR依据托管组件的来历(比方来自因特网,企业局域网,当地机)等要素对他们判断以得当的信托度,如许CLR会依据他们的信托度来限制他们实行如读取文件,修正注册表等某些敏感操纵的权限。借助通用范例体系(CommonTypeSystem,简称CTS)对代码范例举行严厉的平安反省制止了分歧组件之间大概存在的范例不婚配的成绩。CLR下的编程全体是环绕组件举行的。<P>  值得指出的是CLR一般投止在其他高功能的服务器使用程序中,好比:因特网信息服务器(IIS),MicrosoftSQLServer。这使得我们能够充实使用通用言语运转时诸多的平安,高效的长处来部署本人的贸易逻辑。<P>内存办理<P>  CLR对程序员影响最年夜的就是它的内存办理功效,以致于我们很有需要独自把它列出来论述。它为使用程序供应了高功能的渣滓搜集情况。渣滓搜集器主动追踪使用程序操纵的工具,程序员再也用不着和庞大的内存办理打交道。这在某些喜好张口开口底层编程的所谓的妙手来讲,主动内存办理历来都是他们冷笑的工具。切实其实,为通用软件情况计划的主动化内存办理器永久都抵不上本人为特定程序量身订制的手工制造。但古代软件业早已不再是几百行代码的作坊功课,动辄不计其数行的代码,大批的贸易逻辑凸现的已不再是算法的乖巧,而是可办理性,可保护性的工程代码。.NET/C#不是为那样的作坊妙手筹办的,C言语才是他们的美人。在Microsoft.NET托管情况下,CLR卖力处置工具的内存结构,办理工具的援用,开释体系不再利用的内存(主动渣滓搜集)。这从基本上办理了临时以来困扰软件的内存泄露和有效内存援用成绩,年夜年夜加重了程序员的开辟包袱,进步了程序的强健性。实践上我们在托管情况下基本找不到关于内存操纵或开释的言语指令。值得指出的是Microsoft.NET使用程序可使用托管数据,也能够利用非托管数据,但CLR其实不能判别托管数据与非托管数据。<P>  渣滓搜集器卖力办理.NET使用程序内存的分派和开释。当用new操纵符创立新的工具时,渣滓搜集器在托管堆(ManagedHeap)中为工具分派内存资本。只需托管堆内的内存空间可用,渣滓搜集器就为每个新创立的工具分派内存。当使用程序不再持有某个工具的援用,渣滓搜集器将会探测到并开释该工具。值得注重的是渣滓搜集器并非在工具援用有效时就当即入手下手开释事情,而是依据必定算法来决意甚么时分举行搜集和对甚么工具举行搜集。任何一个呆板的内存资本老是无限的,当托管堆内的内存空间不敷用时,渣滓搜集器启动搜集线程来开释体系内存。渣滓搜集器依据工具的存活工夫,工具历经的搜集次数等来决意对哪些工具的内存举行开释。微观的看,我们其实不晓得渣滓搜集切实其实切举动,但Microsoft.NET类库为我们供应了把持渣滓搜集举动的部分功效,在某些特别情形下,我们有需要举行一些受限的操纵。<P>  渣滓搜集器其实不意味着程序员今后能够与日俱增,假如正在操纵一个包装了如文件,收集毗连,Windows句柄,位图等底层操纵体系资本的工具,我们仍是必要明白地开释这些非托管资本的。这在“第五讲机关器与析构器”里有具体的论述。<P>Microsoft.NET框架类库<P>  Microsoft.NET框架类库是一组普遍的,面向工具的可重用类的汇合,为使用程序供应各类初级的组件和服务。它将程序员从沉重的编程细节中束缚出来专注于程序的贸易逻辑,为使用程序供应各类开辟撑持--不论是传统的命令路程序仍是Windows图形界面程序,拟或是面向下一代因特网散布式盘算平台的ASP.NET或XMLWeb服务。上面是对这些组件和服务的一个归纳综合。
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)
作者: 不帅    时间: 2015-1-19 16:27
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 深爱那片海    时间: 2015-2-5 14:52
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
作者: 再现理想    时间: 2015-2-12 09:19
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
作者: 飘灵儿    时间: 2015-3-3 02:09
逐步缩小出错代码段的范围,最终确定错误代码的位置。
作者: 爱飞    时间: 2015-3-11 08:36
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
作者: 灵魂腐蚀    时间: 2015-3-18 00:41
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
作者: 精灵巫婆    时间: 2015-3-25 09:00
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。




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