基于C#的.NET Framework是什么组成呢?核心的是什么?基于C#的.NET Framework的命名空间是什么呢?基于C#的.NET Framework的开发技术又有哪些呢?那么现在就开始我们的讲述:
一、理解.NET Framework组成:底层操作系统,如WinXP等等,应用程序服务,COM+、IIS、MSMQ等等服务,CLR,最为重要的环境,提供了安全和强壮的执行环境,.NET Framework类库,扩展了CLR的功能,一致的编程接口,ADO.NET,下一代的数据访问组件,ASP.NET的支持,一个基于CLR中的动态编程模型WebService,对此提供了支持
用户界面,展现程序。
CLR,最为重要,***,它是一个类加载器,管理元数据和加载类等等;第二,它是MSIL(中间语言)的代码编译器,把MSIL转换为本地代码;第三,所以说它也是一个代码管理器,可以管理和执行代码;第四,它更可以自动进行垃圾回收,对所有的对象提供自动生命周期管理,支持多处理器;第五,它提供了安全引擎,恶意代码的运行基本不可能;第六,它提供了调试器,使开发者能够调试应用程序和根据代码执行;第七,它提供了类型检查器,不允许不安全的类型转换和未初始化变量MSIL可被校验以保证类型安全;第八,它提供了异常管理器,对异常的处理更加方便也更易;第九,它支持多线程编程,可以***限度电脑性能;第十,它拥有COM封送拆收器,可以在COM组件中封送。
.NET类库,跨所有编程语言从C++、VB到C#,面向对象和一致的编程接口,内建的公共类型系统,是可以扩展的,更加是安全的。
ADO--数据与Xml,两个命名空间,System.Dataetc和System.Xmletc
XMLWEBService,用XMl来发送数据和接收信息
ASP.NET在System.Web.UI下面
命名空间,是.NET避免类名冲突的一种方式,.NETFramework拥有大量的类,所有要方便组织和管理,就要进行分层,就使用命名空间体系结构,其中的System是根命名空间,包含异常处理、垃圾回收、数据处理、文本处理等等类库。
二、使用命名空间,可以完全路径也可以使用Using语句导入贫下命名空间,也可以为自己写的类命名自定义的命名空间,总之,所有的类都要在某个命名空间下,没有明确提供命名空间的自动添加到没有名称的全局命名空间。
csc的参数,/t指定编译目标,/r引用程序集,/doc注释到XML文件
托管代码的执行过程
源代码经过编译得到MSIL和元数据,类加载器载入,JIT编译到本地托管代码,执行时进行安全检查。
元数据,包含应用程序的信息,如版本、区域、公钥信息,类型成员(方法、字段、属性等等),安全许可证信息,该程序集依赖的其它程序集,共聚物包含了所有.NET Framework文件和资源文件,如txt、xml、声音图像文件等等。
作用也是很明显的,可以加载和定位类,也增强了代码安全性,可以解析方法调用,提供反射支持。(“反射”是很有用的。)
MSIL,可以由支持中间语言的编译器产生,在执行之前,要由JIT编译器转将MSIL换到本地代码。
与MSIL一起工作的JIT工具有ilasm.exe(MSILAsemblly,从MSIL中自成BinaryCode),ildasm.exe(MSILdeasemblly,检查元数据和托管BinaryCode),sn.exe(Strongname)
JIT,对特定的CPU有优化,对MSIL按需生成代码,调用已编译的本地代码。
垃圾回收,自动进行对象内存管理,不再手动进行内存的跟踪和管理,已经由垃圾回收引擎适当地自动进行。
三、关键开发技术:winForm,Web窗体,XMLWebService三种,的确挺关键的
创建简单的组件:使用namespace和声明类,实现结构化异常处理,使用属性,编译组件(代码重用) csc/target:library/out:*.dll*.cs
注:.Net的异常处理很有特点:
1、处理异常时不考虑生成异常的语言和处理异常的语言
2、处理异常时不要求特定的语法,可以定义自己的语法
3、允许跨进程甚至跨计算机边界引发异常
4、所有的异常都是从Exception类继续来的。
基于C#的.NET Framework的基本内容就向你介绍到这里,希望对你了解和学习基于C#的.NET Framework有所帮助。
【编辑推荐】