七、面向Web的支持
除了Windows Forms新引擎之外,.NET还包含了一个专门为构造Web窗体设计的窗体引擎,称为Web Forms。这个引擎的目标在于让用户能够象创建传统Windows桌面应用的窗体一样方便地创建Web窗体。Web Forms是一种ASP.NET技术,通过它我们可以使用熟悉的RAD(快速程序开发)工具构造出带有执行代码的窗体。不过,窗体中的ASP.NET代码以编译方式在服务器端运行,经过处理后把结果HTML发送给支持HTML 3.2的浏览器。
客户端事件数据由底层框架截获并发送到服务器。这意味着应用界面不再受浏览器类型的约束,意味着有大量UI工具可供使用,意味着用户可以充分发挥现有的窗体制作技巧。如果应用没有必要做到浏览器中立,那么它就可以利用IE浏览器的各种特色。有了Web Forms,我们将能够更轻松地为那些具有Web功能的应用构造出更好、更丰富的用户界面。
VB.NET中另外一个面向Web的重要特色是Web服务。在Microsoft的宣传中,Web服务被推崇为之所以要采用.NET技术的重要理由之一。事实上,从根本上来说Web服务是一种类似COM的、通过Web服务器和标准协议发布的对象。当然,Web服务并不是严格意义上的COM对象,但两者作用方式类似。Microsoft期待着各类公司都以Web服务方式提供服务,期待着未来创建应用时只需简单地“粘合”各种服务,就象今天借助Office和支持VBA的应用通过VBA构造新应用一样简单快捷。
从Microsoft PDC(Professional Developers Conference,专业开发者大会)的一个演示中,我们可以看出Microsoft希望开发者如何粘合各种Web服务。在这个演示中,一个假想的医生以Web服务形式发布其时间表,示范如何通过Web用智能电话和医生订立约会。Visual Basic.NET还允许查询服务器,提取服务器支持的所有服务的元数据。Web服务描绘了Microsoft野心勃勃的战略,然而,唯有时间才能告诉我们Microsoft是否在大范围推广Web服务上取得了成功。但不管如何,这个想法本身看来有着美好的前途。
为了减少与封装和分发应用有关的问题,如令人畏惧的DLL Hell问题(在共享DLL的应用之间,由于一个应用的升级而导致另一个应用无法正常运行的情况),Microsoft作出了种种努力,它同样也带来了美好的希望。所有.NET应用都封装为程序集(Assembly)。程序集包含了描述各种运行需求的元数据。这种元数据称为manifest,其中包括:程序集的标识信息(名称,版本等),列出了所有文件依赖关系以及文件位置和文件版本的文件清单,外部依赖信息(带有描述程序集必须用到、但开发者没有自己创建的DLL以及其他资源的数据)。程序集是通过manifest自我描述的,因此.NET应用的运行并不需要修改注册表。换句话说,.NET应用不再要求注册组件。在最理想的情况下,客户机器上已经有了.NET运行环境,部署一个复杂的应用简单到只需复制一个文件夹到目标机器。使用程序集的另外一个优点是:不同的应用可以拥有同一DLL的不同版本,所有这些应用都互不干涉地在同一台机器上运行。如果它能够按照预期那样获得成功,DLL Hell和可怕的版本问题都将成为历史。
Visual Basic.NET代表着VB的一次重大飞跃。尽管如此,把VB.NET看成是一种有着熟悉语法的新语言而不是对旧语言的简单升级或许是对待VB.NET较为正确的心态。
全面剖析VB.NET(7)
时间: 2024-12-24 22:18:36
全面剖析VB.NET(7)的相关文章
全面剖析VB.NET(1)
前言 大约到2001年的第4季度,Visual Basic的下一个版本Visual Basic.NET将会正式发行.新版的Visual Basic.NET拥有许多VB开发者以前只能梦想的新功能和新特色.同时,成长和发展也意味着付出一定的代价,新的Visual Basic.NET中有许多东西需要重新学习,一些细微的变化很可能带来出乎意料的麻烦. Microsoft .NET平台所包含的内容非常广泛.本文将去粗存精,对VB.NET作一个全景式的介绍,看看它到底是什么,有些什么用处
全面剖析VB.NET(4)
四.对象的广泛应用 代码重用简化了开发过程,而可视化继承之类的功能又使得代码重用更加方便.然而,代码重用并不局限于此.借助作为VB.NET基础的CLR(Common Language Runtime,公共语言运行时环境),我们可以在VB.NET中继承其他VS.NET语言编写的类.例如我们可以编写一个C#类,然后在VB.NET类中继承该C#类. VB.NET的面向对象功能已经向各个方向扩展,甚至深入到了语言本身--在VB.NET中,一切都是对象.它意味着和以前的VB版本相比,我
全面剖析VB.NET(5)
五.公共运行时环境 迄今为止,业界对VB.NET讨论得最多的特色或许就是CLR.VB.NET运行在CLR之上,正是CLR为VB.NET带来了许多关键的新特色(包括缺点在内).例如,CLR使得VB.NET支持跨语言的继承以及自由线程. 在VB6中,分布式VB程序要求有VB运行时库msvbvm60.dll支持,即该运行时库必须随同应用一起分发.其他许多语言,比如C++和Java,也有类似的要求.在.NET中,所有Visual Studio语言共享同样的运行时环境CLR.改用CLR带
全面剖析VB.NET(2)
二.语法 很久以来,VB因为缺乏完善的面向对象支持.缺乏高效的错误处理机制和性能表现不佳,因而一直受到某些人的嘲笑.VB.NET将彻底改变这种情况.然而,VB.NET在这些方面的改进也要付出代价,许多旧的代码需要手工进行转换才能在VB.NET下运行. 下面几个表格总结了VB.NET语言在语法上的改动之处.注意这些表格并没有完全列出所有改动之处,但列出了最重要的一些改动. 表A对比了VB6中一些熟悉的语法形式及其在VB.NET中类似功能最接近的语法形式. 表
全面剖析VB.NET(6)
由CLR导致的体系上的不同不仅仅是跨语言继承.共享功能和受管理代码,它还有更深刻的意义.Visual Studio.NET的底层体系不再是COM:另外,VB.NET中所有东西都是对象,甚至连字符串也一样.由于这些原因以及其他许多原因,Microsoft改变了底层体系管理对象的方法.COM系统通过引用计数方式管理对象,每当对象被引用时,引用计数就增加.当对象引用超出作用范围或者被释放时,计数器的值就减少:一旦引用计数为0,对象就被释放.Microsoft声称.NET体系中的引用计数开销实在太大
VB.NET多线程开发实例
多线程 VB.NET(Visual Basic.NET)是为适应Microsoft .NET框架的需要,对Visual Basic进行了重大改造后的开发工具.它比Visual Basic 6.0功能更强大,更易于使用.其中最重要的变化就是对象继承,在VB.NET中,所有可管理的类型都衍生自System.Object.作为编程工具,最重要的一个特性就是垃圾碎片的回收,它由CLR(Common Language Runtime)进行控制,并提供更好的内存管理功能.通用的类型定义可以提供更好的互操作性
TaintDroid深入剖析之启动篇
TaintDroid深入剖析之启动篇 简行.走位@阿里聚安全 1 背景知识 1.1 Android平台软件动态分析现状 众所周知,在计算机领域中所有的软件分析方法都可以归为静态分析和动态分析两大类,在Android平台也不例外.而随着软件加固.混淆技术的不断改进,静态分析越来越难以满足安全人员的分析要求,因此天生对软件加固.混淆免疫的动态分析技术应运而生.虽然动态分析技术本身有很多局限性,诸如:代码覆盖率低,执行效率低下等等,但是瑕不掩瑜,个人认为熟悉各种动态分析技术的核心原理也应当是安全从
Portal Starter 源码深入剖析(一)
Portal Starter 源码深入剖析(一)学ASP.net光看书看来是不行的,找一些经典的源代码来读读,对提升认识是很有帮助的.在Microsoft的网站上找到几个范例,选择Portal是因为这个范例最大,可作为一个简单的门户站.Portal的工作流程:1.读取网站设置文件PortalCfg.xml至context中缓存起来,这个过程由Global.asax中的Application_BeginRequest()事件来完成的.2.客户访问Portal站,执行Default.aspx,Def
使用VB创建ASP服务器端组件
创建|服务器 使用VB创建ASP服务器端组件 本篇文章通过与传统的设计方法相比较,介绍了如何在ASP代码中调用VB组件的方法.在本篇文章中,我们假设读者具有VB和ASP的相关入门知识. 服务器端组件和客户端组件的比较 服务器端组件和客户端组件有许多不同之处.服务器端组件是在计算机服务器上注册的DLL文件,客户端组件则在浏览器运行的计算机上注册,在IE中,这些客户端组件被称作ActiveX浏览器插件组件. ActiveX客户端组件可以使用VB编写,并通过互联网或内联网发送给浏览器,生成很精彩的效果