分享
 
 
 

.Net开发平台(下)

王朝c#·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

Visual Studio .NET

2002年2月,微软发布了Visual Studio.NET(VS.NET)的最终版本,这是微软极力推荐的创建.NET应用程序的软件开发工具集。VS.NET第一次让开发者仔细体会了微软在语言上进行的革命性的改变,同时也解决了许多过去困扰开发者使用微软工具创建应用程序的问题。随着它在调试方面的改进,以及它将开发者所需的工具紧密集成到一个单一的环境上去,VS.NET将大大影响Web应用程序的开发。

由于将新的工具、向导、功能和开发途径等都封装到一个熟悉的拖放环境中,需要相当的学习研究才能掌握VS.NET所有的优点,但是它应该服从引导微软现有的开发者客户进入.NET世界这样一个目的。

SDK与IDE

微软提供了一个免费的.NET Framework SDK,它包括CLR、类库、ASP.NET和用于C#与VB语言的编译器,使用这个SDK,开发者可以使用任何编辑器写代码,然后从命令行界面访问编译器和其他工具。

尽管如此,大多数开发者更喜欢在VS.NET图形集成开发环境(IDE)中工作。VS.NET提供了图形化工具,从而更容易查找代码组件、跟踪任务、编辑和编译代码、指导调试,以及组织开发工作等。

VS .NET是微软促使开发者决心转移到.NET开发平台上来的主要工具,为了实现这个目标,微软已为它补充了新的功能。这些新功能可以根据让.NET开发者的生活更轻松的意义进行分类:一些意味着增加了创建.NET应用程序的乐趣,一些意味着舒缓痛苦,还有一些意味着延缓必然的转变。

增加乐趣

最贴近开发者心声的方法是对于他们的编程任务给出更多的信息和控制,同时又没有让他们的生活复杂化。VS.NET大大增加了开发者随手可得的信息和控制的水平。

主要的增强包括以下内容:

更多的开发者工具。VS.NET与以往的Visual Studio版本相比有更加丰富的功能,包括近30种内建的工具条,用于处理各种项目元素,例如数据库、XML 图、设计工具、HTML格式工具、图像编辑器、布局工具、文本编辑器、样式表以及报告生成器等。仅Windows 表单设计者工具箱就有超过40条标准控制。

新的Server Explorer窗格使开发者可以浏览已连接的服务器(包括Inter.net服务器)上他们所需的任何资源,例如SQL Server数据库。这样就可以更加容易查找和集成信息队列、日志、数据库、分布式组件以及服务等。(请参看“Visual Studio.NET Server Explore”。)

增强的剪贴板区允许开发者建立个人的代码片断库,这些片断可以拖放到代码中。

集成语言。以前,Visual Studio中的每种语言都有略微不同的IDE。现在,所有被支持的.NET语言共享相同的开发、调试以及部署的IDE,这大大提高了解决应用程序开发问题的灵活性。开发者尤其欢迎从任一客户端代码向任一服务器端代码的迅速步进,当处理分布式组件时这十分重要。集成的调试环境使得来自任何.NET语言的错误可以在其他的语言中加以捕捉和报告,并且支持跨越项目、服务器、语言、进程甚至储存的程序的应用程序的调试。

Visual Studio.NET Server Explorer

Visual Studio.NET Server Explorer允许开发者定位查找由不同的服务器提供的可编程的service然后将这些service拖放到他们的应用程序中,通过Server Explorer可以获得的service包括XML Web Services、 SQL表格、Views和储存的程序、消息队列、性能计数器,以及事件日志等。

可扩充的IDE。在对第三方工具的支持上,VS.NET远远超出了以前任何版本的Visual Studio。过去,诸如Rational这样的工具和语言供应商都只有有限的挂钩,可以用来在Visual Studio之上进行开发。有了VS.NET,这些供应商拥有和微软自己一样多的挂钩来创建自己的语言产品。一些供应商,例如Fujitsu,正在使用VS.NET IDE进行以CLR为目标的 COBOL和Fortran的设计。

强大的Web生产能力。以前,开发者只能在Web页中嵌入VB Script或JScript。现在,Web页可以用VS.NET中的任一种语言来生成。IDE也提供了从Web 表单控件中创造Web页的拖放式 GUI,它是完全动态的,易于编码,能自动处理状态问题,根据浏览器兼容能力生成纯HTML,并且将用户界面问题与编码问题相分离。

只需简单地将一个外部的Web Services拖到设计页面上,就可将它与项目连接起来。创建Web Services只需向代码中添加标签属性。可以使用增强的HTML和脚本编辑器。对于许多Web创建者来说,这是一方乐土。

过去,采用一个称作Visual InterDev的工具进行Web开发。随着Visual 的发布,Visual InterDev不再作为一个独立产品存在,但所有的功能都集成到了VS.NET中。

完全集成的数据处理。XML和数据库集成,通过和数据源相连结合起来,大大简化了对来自不同种类的数据源的联合数据(例如将来自一Oracle数据库的雇员数据合并到基于XML的销售成绩列表中)的处理。

全部代码公开。以前,支持某些控件的代码被隐藏起来,开发者很难发现并修改。现在,所有控件发出的代码,包括格式化代码,都可以显示出来,这样便于高级开发者修改表单和控制件的缺省行为,并且在应用程序的外观上给予它们更紧凑的控制。(为了保留大多数VB用户经验,VS.NET IDE使用大纲功能来隐藏代码,直到开发者想要浏览它。)

舒缓痛苦

切换到.NET开发平台潜在的痛苦主要有两个来源:新语言需要的改变程度,以及使某些功能发挥作用的组装代码的数量。微软 试图(用成功的惊喜程度)通过使用向导(现在称作Designers)与突出熟悉的拖放编程方法来舒缓这些变动带来的痛苦。特殊的痛苦缓和手段包括以下内容:

简化复杂的任务,新的可视化Designers可以帮助开发者为建立数据库、查询、数据连接、Web Services、HTML、XML以及SQL服务器上的备用程序创建必要的支持代码。开发者可以从工具箱中将一个可视化元素拖到代码设计窗格中,而对于该项功能的冗长的支持代码将自动生成。接下来开发者可以编辑这些支持代码。

可浏览的复杂度。在基于Web领域中,组件和组件类型越多,模板越复杂,对应的项目也就越复杂。IDE通过将老的Project窗格分成一个Solution窗格和一个Class View窗格,降低了这种复杂度。Solution窗格显示了作为一个更大的“方案”的部件的所有项目的全产文件和目录。Class View 窗格映射出了一个项目中所有正在使用的类。Server Explorer也可以帮助管理复杂的服务器环境。

自动化的组件组装。为了提高应用程序的可扩展性和可靠性,大规模的应用程序通常分成几个逻辑层,它的多个拷见可以在服务器的相关组(称为服务器田)上运行。当 .NET组件在服务器田上运行时,它们使用特殊的、共有的资源Services(称作COM+ Component Services(不要与COM组件对象模型相混淆,它只用作COM+的部分)),来处理所涉及的许多复杂问题。

这些组件需要大量组装代码,但在大多数情形中,代码可以由拖放Component Designer自动生成。这对于n-tier目标为服务器田的开发者是一个好消息。

增强组件管理。IDE中的新工具还可以减轻部署和监控服务器田中的分布式组件的痛苦。所有的.NET对象都是Windows Management Interface(WMI)客户端对象,自动配备进行性能监测。

动态帮助。新的Dynamic Help功能使得IDE能够识别每种语言的语法和大多数系统性错误代码,并且动态给出关于当前编码活动和光标位置的帮助主题到表,这项辅助功能通过详细的说明和代码示例随手可得,可以帮助开发者理解.NET环境的新要求——尽管它将占用开发者计算机上大量的资源。

自动化的XML界面。那些试图建立基于新标准的XML界面的开发者面临着令人畏缩的大量细节:文件布局和数据图表必须小心翼翼地汇集起来,并进行校核和测试。

VS.NET通过自动生成用于使用或创建Web Services和数据连接的界面,减轻了这项负担。它包括用于读/写XML和创建并校核来自数据源的XML图表等增强工具。既然XML是.NET组件通信的标准语言,这项功能对于开发者部署组件应用程序尤为重要。

延缓必然的转变

在被告知.NET中所涉及的改变的程度和努力的范围后,许多开发者都想尽可能延迟向.NET的转变。微软通过支持COM和.NET组件之间的协作功能进行了可能是和缓的迁移。在VS.NET中工作的开发者可以参考来自他们的项目中的老的COM风格组件。

下列特征将有助于开发者延缓必然的转变:

自动创建包装。通过将COM组件包进称作运行环境可调用包装(RCW)特殊的代码层中,COM组件可以合并到.NET环境中。类似地,.NET组件可以被包到— COM可调用包装(RCW)中,并被合并到主要是基于COM的应用程序中。VS.NET IDE拥有创建所有在运行时CLR需要它生成包装的组装工具,这使COM和.NET更易于共存于相同的应用程序中。(有关此互操作性的更多信息,请参看“混合可控制代码和不可控制代码”)

必要时绕过.NET。即使在VS.NET中使用,Visual C++也能生成不使用CLR而直接在Windows上运行的不可控制代码模块。这样,开发者可以使用VS.NET创建应用程序,例如设备驱动程序,它可能需要不受.NET开发平台的限制而运行。

ASP.NET

微软的ASP.NET对Active Server Page(ASP)进行了很大的改变,不仅使开发者更易于创建动态Web内容,还使他们更易于创建复杂而可靠的Web应用程序,例如Web Services。ASP.NET 是微软的. NET开发平台的关键的一部分。为了微软 .NET战略的成功,必须吸引开发者采用. NET开发平台,包括ASP .NET。尽管ASP .NET beta版测试者报告了它的大量好处,开发者的不得不克服从ASP转到ASP.NET在编辑模型和语言支持上的差异问题。

ASP. NET的主要目标是降低Web应用程度开发的门槛,它采用与降低使用Visual Basic(VB)进行Windows编程难度大致相同的方法实现了这个目标:通过设计——“事件-驱动”编程模型,在此模型中开发者向一表单中填加控件,然后编写代码处理与这些空间相关的事件(例如,数据进入文本框或者单击鼠标)。由于允许开发者在由.NET Frame类库显示的XML支持上开发,这也使他们更易于创建以XML格式交换数据的Service。

ASP.NET在哪些方面补充了.NET开发平台

ASP.NET是.NET开发平台的一个部件,用来开发驻留在微软的Internet Information Server(ILS)上并且使用诸如HTTP和SOAP等Internet协议的Web应用程序。ASP.NET使两种类型的Web应用程序的开发和部署更为容易。

·Web 表单应用程序,包括用于动态内容的从脚本生成的Web页和向一个客户(例如浏览器)显示UI或表单的Web页两种。

·Web Services,用于显示其他应用程序和“智能”客户端的功能,使应用程序可以交换信息。

两种Web应用程序体现了超出传统应用程序的一个主要的优点:它们使用基于Internet的协议使信息可以轻易地穿过组织边界(和防火墙)移动,如同在一个组织内移动一样。

微软以前试图使用ASP(1996年作为IIS3.0的扩展功能首先引入)来降低Web应用程序开发的门槛。ASP支持VBScript和JScript,以及一些可用于Web应用程序开发的简单对象,例如Request对象,允许开发者从客户端获得数据;Response 对象则向客户端发送数据。与以前的IIS API(例如Common Gateway Interface(CGI)(通用网关接口)和Internet Server Application Programming Interface(ISAP)(Internet服务器应用程序编程接口))相比,ASP更易用于Web应用程序开发。使用ASP,一个有HTML和脚本使用经验的程序员可以轻松地开发动态Web内容。

尽管如此,介于其有限的对象模型,有限的脚本描述语言能力,有限的用于端到端应用程序调试的工具,以及对于外部XML工具和分析程序进行API级调用的要求,开发一个功能强大且稳定的Web 表单仍然十分困难。

通过在.NET开发平台中嵌入ASP.NET,微软将CLR和类库的益处提供给了开发者。ASP.NET使用CLR 来编译代码,管理执行,创造了运行更快、表现更好的Web应用程序。此外,ASP.NET使用类库让开发者更易于将XML格式数据合并到Web应用程序中,添加处理异常的代码,创建UI元素,并提供其他的编程功能。

(有关ASP.NET和.NET开发平台的组件的图形描述,请参看“ASP.NET体系结构”示意图。)

ASP.NET的好处

ASP.NET在三个领域提供了超越ASP的改进:编程模型,状态管理,以及从.NET开发平台继承过来的好处。 ASP.NET体系结构

ASP.NET使开发者能够创建在Internet Information Server(IIS)和.NET开发平台上运行的Web应用程序。ASP.NET通过Internet Server Application Programming Interfaces(ISAPI)与IIS通信,Active Server Pages(ASP)同样。事实上,ASP和ASP.NET可以共存于同样的IIS服务器上:IIS将对于ASP页面的请求(带有.asp扩展名)指向ASP,将对于ASP.NET页面的请求(带有.aspx或.asmx扩展名)指向ASP.NET。

ASP.NET本身有一个cache,通过提供cache内的经常使用的页面来提高性能。ASP.NET还包括一个跟踪用户会话的状态管理Service。在ASP中,开发者通常不得不创建自己的cache和状态管理Services来扩大ASP所提供的。

.NET Framework Core开发平台支持ASP.NET页面中的代码。特别地,Common Language Runtime(CLR)编译和管理页面中代码的执行。类库提供了一个用于接收请求和生成响应的统一类集(例如Web 表单类和XML类)。

·Web 表单控件,这是服务器端控件,一些是HTML控件,另外一些则是新增的更为复杂的控件,例如文本框(、列表框、日历和数据网格等。这些控件比HTML控件更易于使用,因为诸如容量这样的属性在所有控件中均使用一致的方式设置。

·确认控件,这是一种链接到HTML控件和Web 表单输入控件(例如文本框)的控件。确认控件能够通过比较、检查输入范围或应用一个定制的确认代码来确认用户的输入。

所有这些控件都减少了开发者不得不编写的代码的数量,开发者只需把控件定位在一个页面中,初始化控件的性能和方法,然后编写代码来响应控件可能产生的事件,这种事件是用户某些行为(如单击按钮)的结果。这些控件还支持数据绑定,这使开发者很容易将从数据库取回的特定信息与指定给控制值关联起来。

相比之下,ASP仅仅提供了6个基本控件。尽管ActiveX控件能够由ASP使用,但这通常会削弱Web应用程序的稳定性。

另外,.NET开发平台的类库不仅使Web应用程序受益,同样也有益于任何Windows应用程序,这些助益如下:

减少了异常处理的编码。异常处理类使开发者可以很容易地添加代码处理公共编程问题,例如被0除,内存溢出,或是找不到文件等错误。

减少了用于数据交换的编码。通过使用类库,ASP.NET开发者可以方便地读写XML数据流。ASP.NET还可使用ADO.NET,一套新的扩展的Active Data Objects(ADO)(活动数据对象),来管理指向数据库中的数据的连接,并且处理数据。

改进的性能。ASP.NET性能大大优于ASP,这主要是因为以CLR为目标的代码是编译执行,而用于ASP的脚本语言则是解释执行。当代码第一次使用时,要被编译,起始页面加栽可能会慢些,但在随后的页面请求中,该页面将从动态输出缓存中的已编译过的代码中读出。当识别到缓存页面的控件事件或查询字符串的变化时,ASP.NET甚至能够专门缓存。甚至ASP.NET测试版看来也比ASP要快好多。(微软提供的比较,参看“ASP.NET性能”。)

增加的语言支持。ASP.NET允许开发者使用CLR支持的任何语言,包括VB.NET和C#。ASP仅仅支持VBScript与Jscript这样的解释型脚本描述语言。

改进的调试支持。基于ASP.NET的 Web应用程序的开发者既可以使用包含在.NET Framework SDK中的调试器,也可使用集成在Visual Studio中的调试器。除了允许开发者逐步检查代码,设置断点外, ASP.NET还支持跟踪,它允许开发者跟踪一个应用程序的执行,然后观察跟踪结果。要排除ASP 页面的故障,开发者不得不散布带有自定义的“Response.Write”声明的代码,来显示应用程序中特定点的变量值。调试完后,必须将这些代码行清除或者注释掉,以便应用程序作为产品运行时,不会输出调试信息。可以轻松地设置跟踪开或关,并且既可同单独的Web页面也可同大范围的Web应用程序一起工作。

ASP.NET代码隐藏

ASP.NET使事件处理代码“隐藏”在表示代码之后,或者说从中分离出来。和Visual

Basic(VB)将VB-based Windows应用程序表单从与之交互的代码中分离开来完全一样,ASP.NET Web 表单将用户接口(UI)编程分为商务逻辑和内容表示两部分。

与由Web 表单页面生成的事件发生交互的逻辑或程序代码被称作“代码隐藏”页面。扩展名.aspx.vb或者.aspx.cs表明页面是否包含Visual Basic.NET或C#代码。这些代码隐藏页面被编译成Dynamic Link Libraries(DLLS)(动态链接库),这项技术得益于ASP.NET性能的提高。

表示文件或Web表单页面是一个混装静态HTML和ASP.NET服务器控件的容器。

当用户请求一个页面时,ASP.NET显示Web 表单。当用户选择一个控件(例如,单击submit(提交)按钮)时,页面将被激活的控件的信息返回给ASP.NET,ASP.NET执行代码中相关的事件句柄。

ASP.NET性能

微软和beta版测试者们都说ASP.NET的性能胜过ASP的性能,但是评测的基准很难说明,就像美国环保局提供的汽车里程评估——“实际里程可能不同”。

尽管如此,在2001年10月的Professional Developers Conference(PDC)(专业开发者会议)期间,微软还是提供了初步的性能数据。客户们不得不决定如何推断符合他们应用程序需求的基准数据。

数据是基于Doculab的Nile的基准,它常常用于评估应用程序服务器的相关性能。实现ASP.NET的Nile基准需要4,000条C#代码,用来生成一个ad-hoc搜索的混合,创建新客户,管理购物车,以及处理定单等。保持硬件配置不变,通过对应用程序和数据库服务器的测试,得出如下结果:附加测试表明用VB.NET编写代码和用C#编写代码区别不大。

·Web 表单控件,这是服务器端控件,一些是HTML控件,另外一些则是新增的更为复杂的控件,例如文本框(、列表框、日历和数据网格等。这些控件比HTML控件更易于使用,因为诸如容量这样的属性在所有控件中均使用一致的方式设置。

·确认控件,这是一种链接到HTML控件和Web 表单输入控件(例如文本框)的控件。确认控件能够通过比较、检查输入范围或应用一个定制的确认代码来确认用户的输入。

所有这些控件都减少了开发者不得不编写的代码的数量,开发者只需把控件定位在一个页面中,初始化控件的性能和方法,然后编写代码来响应控件可能产生的事件,这种事件是用户某些行为(如单击按钮)的结果。这些控件还支持数据绑定,这使开发者很容易将从数据库取回的特定信息与指定给控制值关联起来。 相比之下,ASP仅仅提供了6个基本控件。尽管ActiveX控件能够由ASP使用,但这通常会削弱Web应用程序的稳定性。

另外,.NET开发平台的类库不仅使Web应用程序受益,同样也有益于任何Windows应用程序,这些助益如下:

减少了异常处理的编码。异常处理类使开发者可以很容易地添加代码处理公共编程问题,例如被0除,内存溢出,或是找不到文件等错误。

减少了用于数据交换的编码。通过使用类库,ASP.NET开发者可以方便地读写XML数据流。ASP.NET还可使用ADO.NET,一套新的扩展的Active Data Objects(ADO)(活动数据对象),来管理指向数据库中的数据的连接,并且处理数据。

改进的性能。ASP.NET性能大大优于ASP,这主要是因为以CLR为目标的代码是编译执行,而用于ASP的脚本语言则是解释执行。当代码第一次使用时,要被编译,起始页面加栽可能会慢些,但在随后的页面请求中,该页面将从动态输出缓存中的已编译过的代码中读出。当识别到缓存页面的控件事件或查询字符串的变化时,ASP.NET甚至能够专门缓存。甚至ASP.NET测试版看来也比ASP要快好多。(微软提供的比较,参看“ASP.NET性能”。)

增加的语言支持。ASP.NET允许开发者使用CLR支持的任何语言,包括VB.NET和C#。ASP仅仅支持VBScript与Jscript这样的解释型脚本描述语言。

改进的调试支持。基于ASP.NET的 Web应用程序的开发者既可以使用包含在.NET Framework SDK中的调试器,也可使用集成在Visual Studio中的调试器。除了允许开发者逐步检查代码,设置断点外, ASP.NET还支持跟踪,它允许开发者跟踪一个应用程序的执行,然后观察跟踪结果。要排除ASP 页面的故障,开发者不得不散布带有自定义的“Response.Write”声明的代码,来显示应用程序中特定点的变量值。调试完后,必须将这些代码行清除或者注释掉,以便应用程序作为产品运行时,不会输出调试信息。可以轻松地设置跟踪开或关,并且既可同单独的Web页面也可同大范围的Web应用程序一起工作。

向ASP.NET进发

ASP 和ASP.NET之间的差异导致ASP页面不可能在ASP.NET上运行。然而,一个单一的IIS服务器能同时驻留 ASP应用程序 和基于ASP.NET的 Web应用程序。

想利用ASP.NET的开发者有几种选择:

·保留现有的ASP应用程序不动,在ASP.NET上开发新的应用程序。因为ASP和ASP.NET可以共存,也就不必迫切地将现有的应用程序转换到ASP.NET上,但是知道ASP.NET的重大优势,开发者也许不会再想开发任何新的ASP应用程序。

·将ASP.NET特征添加到现有的ASP Web应用程序上。从原理上讲,开发者能够建立带有ASP和 ASP.NET混合页面的应用程序,这使应用程序可以逐渐迁移到ASP.NET上。然而,状态管理还不能在ASP和ASP.NET之间分开,如果状态信息必须由ASP和ASP.NET页面共享,这就使得这种方法不切实际。

·把现有的ASP Web应用程序转换到ASP.NET。这需要开发者将现有的基于脚本的代码转换到VB.NET或C#,从ADO转换到ADO.NET,并且将事件驱动代码添加到应用程序之中。仔细检查现有的应用程序,确定有多少脚本代码嵌入在页面之中,并且考察ASP.NET的新的优势,如服务器端控件和事件模型,将说明这种方法是否有意义。

·使用现有的页面作为校验的规范,充分利用ASP.NET功能的优势,重建页面的表示和逻辑,改写现有的ASP Web应用程序,使之用于ASP.NET。这种方法花费的工夫可能最多,但是在应用程序的稳定性和性能方面可能会达到最好的效果。

益处评价

.NET开发平台的发布给微软的客户及其合作厂商带来一个基本的问题:和目前的Windows平台或Java相比,我们应当把多少开发和市场的经费投入到新的平台中?在做决策时,组织应当考虑到以下需求: 可靠性和安全性。和Windows或者Java中的任何一个相比,.NET开发平台提供了更好的应用程序可靠性和安全性,这尤其要归功于Common Language Runtime(CLR),及其基本编码错误(如缓冲区溢出)的防止,和管理员定义版本政策和安全限制的增强。然而,一个应用仅仅同它最弱的环节一样强壮:具有不可控制代码的.NET应用程序 仅与那些代码具有相同的可靠性和安全性。Java有一个用以调用本机代码的机制,Java Native Interface(JNI)(Java本机接口),但是现有的代码必须加以修改采允许其被调用。

开发成本。.NET开发平台在开发Web应用程序(尤其是Web服务)时明显优于现在的Windows版本,它甚至有着远远超越Java的优势,这得益于Visual Studio.NET复杂的图形编辑器和向导。

类库和CLR还向采用所有.NET编程语言的应用程序提供了单纯一致的目标,它应当简化培训程序员和编写维护代码的工作。多种编程语言的支持还使.NET开发平台具有一个强于Java的优点,因为熟悉旧的Windows语言,例如Visual Basic的开发者,无需再从头学习.NET中相同的内容。.NET开发平台还给主要投资于Windows代码的组织提供了一种方法,使它们可以在新的.NET开发平台中重用不可控制代码,这样这些组织就可以逐渐地迁移到新平台上来。

然而,.NET与现在的Windows平台差异甚多,因此许多组织不得不在编程语言和库方面培训开发者,并且必须重新访问和重新编写现有的Windows源代码,以便运行它时完全受控于CLR下。

性能。尽管在.NET开发平台和Java平台之间进行有效的性能比较非常困难,因为体系结构、设计及平台等各种差异太多,但基准显示,.NET是可比的,而且ASP和ASP.NET之间的测试强有力地表明:在Windows平台上,ASP.NET胜过了ASP。事实上,ASP.NET的性能几乎可以与速度最快的基于Windows的Web API相媲美。然而,比起直接把Windows APIS作为目标,.NET开发平台还带来了一些不可避免的性能冲撞,为了增加可靠性和安全性,沟通不可控制代码和可控制代码之间的鸿沟,以及把中间代码翻译成本机代码。这使该平台对于性能敏感应用程序(例如游戏和低层的网络业务)的吸引力较弱。

单独厂商因素。和Java,.NET开发平台由单个厂商微软开发并实现,这样使得顾客购买平台更为简便,而微软和合作商对平台的支持也更方便。然而,.NET开发平台只能在Windows上运行,因此组织进行平台转换必须保证在解决企业问题(例如安全问题和可靠性问题)时Windows将保持其性价比优势。最近微软产品的授权成本的增加以及及安全漏洞的不断发现暗示这可能不是完全有把握的一赌。 总而言之,转到还是离开.NET开发平台的决策必须由每个组织自己来做,而且在同一个组织内不同的开发项目组间也可能有所不同。新平台对于创建新的服务器端Web应用程序(尤其是重用现有的COM代码的Web Service和Web应用程序)的公司意义最大。.NET对于已经使用了第三方软件厂商产品的组织,特别是使用Windows桌面应用程序和必须在Unix环境和主机操作系统上运行的封装服务器应用程序(如SAP的ERP产品)的组织,没有太大的意义。这些软件厂商或许会看好.NET Web Service的前景,但是他们几乎看不到将应用程序迁移到.NET开发平台上的好处,这些应用程序的.NET版的出现,还要经过一个漫长的等待。

软件可获得性

.NET Framework SDK可以从以下网址下栽得到:

msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true。

.NET Framework包含在Visual Studio.NET中。

MSDN订购者可以从msdn.Microsoft.com/visualj/jsharp/beta.asp下载Visual Studio.NET。

Visual Basic.NET、Visual C++和Visual C#包含在.NET Framework(编译器)中,自然也驻留在Visual Studio.NET中。

Visual J#.NET Beta 1可从msdn.Microsoft.com/visualj/jsharp/beta.asp下载,从这还可获得进一步的信息。

ASP.NET包含在.NET Framework中, ASP.NET 1.0版可从www.asp.net/download.aspx下载。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有