博文
Microsoft .NET完全介绍(下) (2006-09-04 11:16:00)
摘要:Microsoft .NET将从根本上改变我们的思考和使用电脑的方式。目前"服务器"和"桌面电脑"这两种概念占据了计算领域的统治地位。然而Microsoft .NET是一种分布式计算范例,它没有了传统上的服务器和桌面电脑的区别,取而代之的是,计算的处理被放在最合适的地方进行,可能是服务
器,或是PC,也有可能是手提电脑以及其他智能设备。这就是智能计算。
.NET的计算模型对商务和终端用户都产生了重要影响,但方法不同。对终端用户来说,这个新计算模式更具个性化、综合程度更高,会给他们带来一种史无前例的新体验。对商务来说,这个模式改变了制造和销售软件的方法,使IT成为一个公司成功的重要贡献者,并建立起新的商务模型。
对终端用户的改变
这里有一个例子,说明了.NET体验是如何对一个终端用户产生影响的。
Bob,一个不安的商务旅行者,在芝加哥下了飞机,突然想起他竟忘了带上他的那部智能电话。这下完了,没了这电话他无法知道晚宴在哪里进行,无法知道原本打算在晚宴上见面的人的电话号码,更惨的是,他无法在这个关键的会议之前再看一下重要的文件。但不用急,他从机场的租了一部智能电话,插入了自己的智能卡。很快通过内置的Internet连接,各种相关的重要数据全部被下载了下来,现在他能访问他的所有信息,不光是日程安排和电话簿,还有所有通常用他的PC机能访问到的所以文件。
不幸的是,他在离开机场时不小心在自动扶梯上绊了一跤,脚踝严重扭伤,这个月这已经是第二次了。无奈,他强忍疼痛要求电话接Roger医生的办公室,听电话的是接待员Mildred小姐。Bob通过电话确认了自己的身份,他授权于Mildred小姐,让她访问自己的所在位置和其他一些信息,以便使她可以在附近找一家整形外科诊所。Mildred能够知道哪家诊所正在营业,有多远,是否接受Bob的保险。Bob所要做的就是轻按电话上的按钮授权给她,Mildred在找到诊所后便会......
Microsoft .NET完全介绍(中) (2006-09-04 11:15:00)
摘要: Microsoft的平台是由用于创建和运行XML Web服务组成的。它包含了下面四个组件:
.NET框架和Visual Studio.NET:这些是开发人员用来生成XML Web服务的工具。.NET框架是Microsoft .NET平台核心中的一套编程接口;Visual Studio.NET是一套多语言系列的
编程工具。
服务器基本结构(Server Infrastructure): .NET的服务器基本结构是一系列用于生成、发布和操作XML Web服务的基础程序,包括Windows和各种.NET企业服务器。主要的技术包括对XML、scale-out及跨程序和服务的商务流程(business process orchestration)的支持。这些服务器包括有:
●Application Center 2000,用于scale-out solutions
●BizTalk Server 2000,用于创建和管理基于XML的跨程序和服务的商务流程(business process orchestration across applications and services)
●Host Integration Server 2000,用来访问主机上的数据和应用程序
●Mobile Information 2001 Server,使移动设备,比如移动电话,也能使用这些应用程序
●SQL Server 2000储存和检索结构化的XML数据
Building Block Services: Building Block Services是一套以用户为中心的XML W......
Microsoft .NET完全介绍(上) (2006-09-04 11:14:00)
摘要:在本文中我们不想涉及到很精深的技术,任何稍微懂一点电脑和Internet知识的人都可以理解本篇的内容。Micorosoft还为那些希望掌握.NET的公司执行官、IT领导和程序员们
提供了更多的资源。
什么是Microsoft .NET?
Microsoft .NET是Microsoft的XML Web服务平台。.NET包含了建立和运行基于XML的软件所需要的全部部件。
Microsoft .NET解决了下面这些当今软件开发中的一些核心问题:
●互操作性(Interoperability)、集成性(Integration)和应用程序的可扩展性(extensibility)太难实现而且代价很高。Microsoft .NET依靠XML(一个由World Wide Web Consortium(W3C)管理的开放标准)消除了数据共享和软件集成的障碍。
●无数具有相当竞争力的私有软件技术使得软件的集成变得非常复杂。而Microsoft .NET建立在一个开放的标准上,它包含了所有编程语言。
●当终端用户使用软件时,他们总觉得不够简便。有时甚至感到很沮丧,因为他们无法在程序之间方便地共享数据或是无法对能访问的数据进行操作。XML使数据交换变得容易了,并且.NET软件可以使得用户只要一得到数据就能对它们进行操作。
●终端用户们在使用Web的时候,无法对自己的个人信息和数据进行控制,这导致了个人隐私和安全泄漏问题。而Microsoft .NET提供了一套服务,使用户可以管理他们的个人信息,并且控制对这些信息的访问。
●.COM公司和Web站点开发者们很难为用户们提供足够的有价值的数据,至少有一部分原因......
C# 语言规范--2.5.7 行指令(2006-09-04 10:58:00)
摘要:行指令可用于改变编译器在输出(如警告和错误)中报告的行号和源文件名称。
行指令最通用于从某些其他文本输入生成 C# 源代码的元编程工具。
pp-line:(pp 行:)
whitespaceopt # whitespaceopt line whitespace line-indicator pp-new-line(空白可选 # 空白可选 line 空白 行指示符 pp 新行)
line-indicator:(行指示符:)
decimal-digits whitespace file-name(十进制数字 空白 文件名)
decimal-digits(十进制数字)
default
hidden
file-name:(文件名:)
" file-name-characters "(" 文件名字符 ")
file-name-characters:(文件名字符:)
file-name-character(文件名字符)
file-name-characters file-name-character(文件名字符 文件名字符)
file-name-character:(文件名字符:)
除 " 外的任何输入字符
当不存在 #line 指令时,编译器在它的输出中报告真实的行号和源文件名称。#line 指令最通用于从某些其他文本输入生成 C# 源代码的元编程工具。当处理的 #line ......
C# 语言规范--2.5.6 区域指令(2006-09-04 10:57:00)
摘要:区域指令用于显式标记源代码的区域。
pp-region:(pp 区域:)
pp-start-region conditional-sectionopt pp-end-region(pp 开始区域 条件节可选 pp 结束区域)
pp-start-region:(pp 开始区域:)
whitespaceopt # whitespaceopt region pp-message(空白可选 # 空白可选 region pp 消息)
pp-end-region:(pp 结束区域:)
whitespaceopt # whitespaceopt endregion pp-message(空白可选 # 空白可选 endregion pp 消息)
区域不具有任何附加的语义含义;区域旨在由程序员或自动工具用来标记源代码中的节。#region 或 #endregion 指令中指定的消息同样不具有任何语义含义;它只是用于标识区域。匹配的 #region 和 #endregion 指令可能具有不同的“pp 消息”。
区域的词法处理:#region
...
#endregion
与以下形式的条件编译指令的词法处理完全对应:#if true
...
#endif
......
C# 语言规范--2.5.5 诊断指令(2006-09-04 10:53:00)
摘要:诊断指令用于显式生成错误信息和警告消息,这些信息的报告方式与其他编译时错误和警告相同。
pp-diagnostic:(pp 诊断:)
whitespaceopt # whitespaceopt error pp-message(空白可选 # 空白可选 error pp 消息)
whitespaceopt # whitespaceopt warning pp-message(空白可选 # 空白可选 warning pp 消息)
pp-message:(pp 消息:)
new-line(新行)
whitespace input-charactersopt new-line(空白 输入字符可选 新行)
示例:#warning Code review needed before check-in
#if Debug && Retail
#error A build can't be both debug and retail
#endif
class Test {...}
总是产生一个警告(“Code review needed before check-in”),如果同时定义条件符号 Debug 和 Retail,则产生一个编译时错误(“A build can't be both debug and retail”)。注意 pp-message(pp 消息)可以包含任意文本;具体说来,它可以包含格式不正确的标记,比如“can't”中的单引......
C# 语言规范--2.5.4 条件编译指令(2006-09-04 10:50:00)
摘要:条件编译指令用于按条件包含或排除源文件中的某些部分。
pp-conditional:(pp 条件:)
pp-if-section pp-elif-sectionsopt pp-else-sectionopt pp-endif(pp if 节 pp elif 节可选 pp else 节可选 pp endif)
pp-if-section:(pp if 节:)
whitespaceopt # whitespaceopt if whitespace pp-expression pp-new-line conditional-sectionopt(空白可选 # 空白可选 if 空白 pp 表达式 pp 新行 条件节可选)
pp-elif-sections:(pp elif 节:)
pp-elif-section(pp elif 节)
pp-elif-sections pp-elif-section(pp elif 节 pp elif 节)
pp-elif-section:(pp elif 节:)
whitespaceopt # whitespaceopt elif whitespace pp-expression &nbs......
C# 语言规范--2.5.3 声明指令(侍续)(2006-09-04 10:11:00)
摘要:声明指令用于定义或取消定义条件编译符号。
pp-declaration:(pp 声明:)
whitespaceopt # whitespaceopt define whitespace conditional-symbol pp-new-line(空白可选 # 空白可选 define 空白 条件符号 pp 新行)
whitespaceopt # whitespaceopt undef whitespace conditional-symbol pp-new-line(空白可选 # 空白可选 undef 空白 条件符号 pp 新行)
pp-new-line:(pp 新行:)
whitespaceopt single-line-commentopt new-line(空白可选 单行注释可选 新行)
对 #define 指令的处理使给定的条件编译符号成为已定义的(从跟在指令后面的源代码行开始)。类似地,对 #undef 指令的处理使给定的条件编译符号成为未定义的(从跟在指令后面的源代码行开始)。
源文件中的任何 #define 和 #undef 指令都必须出现在源文件中第一个“标记”(第 2.4 节)的前面......
C# 语言规范--2.5.2 预处理表达式(2006-09-04 10:10:00)
摘要:预处理表达式可以出现在 #if 和 #elif 指令中。在预处理表达式中允许使用 !、==、!=、&& 和 || 运算符,并且可以使用括号进行分组。
pp-expression:(pp 表达式:)
whitespaceopt pp-or-expression whitespaceopt(空白可选 pp 或表达式 空白可选)
pp-or-expression:(pp 或表达式:)
pp-and-expression(pp 与表达式)
pp-or-expression whitespaceopt || whitespaceopt pp-and-expression(pp 或表达式 空白可选 || 空白可选 pp 与表达式)
pp-and-expression:(pp 与表达式:)
pp-equality-expression(pp 相等表达式)
pp-and-expression whitespaceopt && whitespaceopt pp-equality-expression(pp 与表达式 空白可选 && 空白可选 pp 相等表达式)
pp-equality-expression:(pp 相等表达式:)
pp-unary-expression(pp 一元表达式)
pp-equality-expression whitespaceopt ......
C# 语言规范--2.5.1 条件编译符号(2006-09-04 10:09:00)
摘要:#if、#elif、#else 和 #endif 指令提供的条件编译功能是通过预处理表达式(第 2.5.1 节)和条件编译符号来控制的。
conditional-symbol:(条件符号:)
除 true 和 false 外的任何标识符或关键字
条件编译符号有两种可能的状态:已定义的或未定义的。在源文件词法处理开始时,条件编译符号除非已由外部机制(如命令行编译器选项)显式定义,否则是未定义的。当处理 #define 指令时,在指令中指定的条件编译符号在那个源文件中成为已定义的。此后,该符号就一直保持已定义的状态,直到处理一条关于同一符号的 #undef 指令,或者到达源文件的结尾。这意味着一个源文件中的 #define 和 #undef 指令对同一程序中的其他源文件没有任何影响。
当在预处理表达式中引用时,已定义的条件编译符号具有布尔值 true,未定义的条件编译符号具有布尔值 false。不要求在预处理表达式中引用条件编译符号之前显式声明它们。相反,未声明的符号只是未定义的,因此具有值 false。
条件编译符号的命名空间与 C# 程序中的所有其他命名实体截然不同。只能在 #define 和 #undef 指令以及预处理表达式中引用条件编译符号。
......