ASP.Net

一,概述

ASP.NET是微软2000年6月22日正式推出的一系列网站开发技术。程序设计师可以利用这些技术建置一个网站,网络应用程序和XML网络服务。ASP.NET是.NET平台的一部份,是微软承继ASP而重新改造(两者差异很大)之后的产品。

微软的.Net战略 (MS的梦想)包括:

1, 软件变服务:Microsoft.NET更是微软的一个网络战略(从软件供应商走向ASP),是微软意图全面占领互联网领域的最强有力的武器。

2, 基于XML的共同语言:Microsoft .NET是一个平台,是 Microsoft 的 XML Web 服务平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。这个平台包含广泛的产品系列,它们都是基于 XML 和 Internet 行业标准构建,提供从开发、管理、使用到体验 XML Web 服务的每一方面。现在,Microsoft 正在五个方面创建 .NET 平台,即工具、服务器、XML Web 服务、客户端和 .NET 体验。

3, 融合多种设备和平台:.NET为开发人员提供了新的开发平台 (.NET框架) ,新的开发语言(C#) ,新的开发工具 (Visual Studio .NET) ,新的开发方式 (Web Service) ;为普通用户提供了Windows CE、Windows XP、Stinger、Xbox、Tablet PC、.NET My Services、MSN等产品;为企业提供了bCentral。在未来,最终大多数流行的 Microsoft 软件应用程序——包括 Office 和 Visual Studio .NET——将开始与 XML Web 服务实现交互,并把它们的主要功能作为 XML Web 服务公开,以便其他开发人员可以利用。

4, 新一代的人机界面:.NET的最终目的就是让用户在任何地方、任何时间,以及利用任何设备(any time, any place and on any device.)都能访问并处理他们所需要的信息、文件和程序。

www.cnblogs.com_images_cnblogs_com_lovecherry_1111a.jpg www.cnblogs.com_images_cnblogs_com_lovecherry_2222a.jpg

二,ASP.Net版本历史

日期 版本 说明 新功能 2002-1-16 1.0 首版,同时发布了Windows Server 2003 ? 2003-4-24 1.1 同时发布了Visual Studio .NET 2003 移动控件 2005-11-7 2.0 代号Whidbey,同时发布了Visual Studio 2005,SQL Server 2005 新的数据控件(GridView?, FormView?, DetailsView?),导航控件,Master页面,登录控件,主题,皮肤,Web parts

* 在 2005 这个版本,微软官方也将其细分为数个产品线,例如:VS 2005 Team System, VS 2005 Professional Edition, VS 2005 Tools For MS Office, VS 2005 Standard Edition, VS 2005 Express Edition, Visual SourceSafe? 2005。

三,ASP.Net开发环境

1,开发工具:可以用来开发 ASP.NET 应用程序的软件套件,有下列几种:

Visual Studio Dot NET (2003,2005)

ASP.NET Web Matrix

Macromedia Dreamweaver (MX 2004 ,8)

Visual Web Developer 2005 Express Edition (for ASP.NET 2.0)

Macromedia HomeSite 5.5 (For ASP Tags)

Microsoft SharePoint? Designer 12

Delphi 2006

SharpDevelop (Free/Open? Source)

2,服务器软件:大多的ASP.NET网络应用使用的是Microsoft's IIS作为网页服务器,另外Mono项目可以提供开源的网页服务器如Apache来做网页服务器。

3,文件格式:ASPX是.Net环境中用作Web Form页面的文本文件格式。ASP.NET的ASPX网页可以象ASP等脚本一样支持HTML/CSS内嵌代码块(动态网页代码以<% – … – %>代码块的形式嵌入html代码中),但并不推荐。 ASP.NET提供一种把网页应用逻辑(C#或VB.NET代码)和页面表现层(传统的HTML/CSS文件)分离开的Code-behind方法,一般分两个文件,ASPX文件一般只包含静态的HTML和XHTML代码。放置C#或VB.NET代码的单独的文件(Code-behind文件)分别以. cs,.vb为扩展名。使用Code-behind的明显好处是Code-behind文件会被预编译而加快运行速度,而且可在实际运行前就修正错误。ASPX页面可以在第一次被请求时解析并编译,也可以在程序部署前预编译好。ASCX 是放入网页中的用户控件。ASMX是网络服务页面。ASHX是用户 HTTP handlers。

4,语言:可以使用 .NET 平台所支援的多种程序语言来写 ASP.NET 程序。最流行的两种语言是VB.NET 和 C#,当然也可以使用开源阵营的的Perl、Python等。

四,.Net平台结构

ASP.NET将所有Microsoft .NET的应用程序,建构在 CLR(Common Language Runtime) 的基础上。

.NET 平台是 ASP.NET 的基础核心架构。在这个核心架构中,包括有Runtime Environment (类似 Java 平台)、[[Virtual Machine|VM] 以及 JIT(Jus-in-time)、Class Library、MSIL(MS Intermedia Language)

这就是.Net 平台结构图,ASP.NET、Windows Forms和VS.Net都不过是.Net开发平台的一部分,用于.Net应用程序的开发及展示。.Net 平台的核心技术为:通用语言运行时(CLR:Common Language Runtime)、基类库(Base Class Library)、.Net语言及Visual Studio.Net。

.Net Framework是架构在Windows平台上的一个虚拟的运行平台,而且理论上,C#是一种可以跨平台的语言,如果把Windows换作Linux,同样可以使用符合CLS(Common Language Specification,通用语言规范)的.Net语言(VB.Net、C#、JScript.Net等)来创建ASP.NET或Windows Forms(Linux Forms)应用程序的功能,其实这就是Mono计划所要实现的功能。不仅是C#语言,所有.Net语言(将会包括我们常用的几十种现代的编程语言)都可以编写面向CLR的程序代码,这种代码在.Net中被称为托管代码(Managed Code),所有的Managed Code都直接运行在CLR上,具有与平台无关的特性。

C#也是一种(特殊意义上的)解释性的语言。同Java一样,C#编写的程序代码也是先通过C#编译器编译为一种特殊的字节代码MSIL (中间语言,Microsoft Intermediate Language,MSIL),运行的时候再经由特定的编译器(JIT编译器,Just In Time,JITer)编译为机器代码以供操作系统执行。

解释性的语言很安全,并且可以通过它的运行平台为其赋予更多的功能,比如自动内存管理、异常处理等。事实上,C#语言的许多特点都是由CLR提供的,下面的CLR结构图说明了这一点。

可以看到,类型安全(Type Checker)、垃圾回收(Garbage Collector)、异常处理(Exception Manager)、向下兼容(COM Marshaler)、多线程支持(Thread Support)这些C#的特点都是由CLR来提供的。CLR最早被称为下一代Windows服务运行时(NGWS Runtime),是直接建立在操作系统层上的一个虚拟的运行环境,主要的功能是管理代码的运行。在.Net 平台结构图中,CLR的上面是.Net的基类库(Base Class Library,BCL),这组基类库包括了从基本输入输出到数据访问等各方面,提供了一个统一的面向对象的、层次化的、可扩展的编程接口。从.Net 平台结构图中也可以看到,基类库可以被各种语言调用和扩展,也就是说,不管是C#、VB.NET还是VC++.NET,都可以自由地调用.Net的基类库。

事实上, C#并没有属于自己的类库,它所使用的编程接口就是.Net提供的基类库。所以,在决定使用C#时,真正需要费工夫学习的其实是.NET框架的基类库: C#自身只有区区77个关键词,而且其语法对许多程序员来说都是他们非常熟悉的。BCL则相反,它包含了超过4500个以上的类和无数的方法、属性,在你的C# 程序中随时都可能会用到它来完成自己的任务。

很多人都思考过应如何开始学习一种新的语言,对于一个有经验的编程人员来讲,这确非难事。但是对于一个对编写代码一无所知的人而言,如果你是以C#开始你的编程之旅的,数目繁多的概念及新名词可能会令你有些不知所措。这时候请注意你的学习顺序,任何一种编程语言的学习都是按照运行平台、语法、基类库直至各方面的应用这一顺序来进行的,但是在实际的学习中,它们之间并不是孤立的。推荐的方法是:对运行平台和语法有了一个整体的认识后,在应用中学习各种基类库的用法。鉴于C#这一语言的特殊性,全面了解它的运行平台(.Net Framework)必会使你的学习事半功倍。所以请记住上面提到的两个图,在以后的学习中,虽然可能不会明确的涉及到它们,但是在整个C#的学习过程中,它们却是无处不在的。

还有一个很重要的概念需要你明白,这就是公共语言架构(Common Language Infrastructure ,CLI)。CLI是CLR的一个子集,也就是.NET中最终对编译成MSIL代码的应用程序的运行环境进行管理的那一部分。在CLR结构图中CLI位于下半部分,主要包括类加载器(Class Loader)、实时编译器(IL To Native Compilers)和一个运行时环境的垃圾收集器(Garbage Collector)。CLI是.Net和CLR的灵魂,CLI为IL代码提供运行的环境,你可以将使用任何语言编写的代码通过其特定的编译器转换为 MSIL代码之后运行其上,甚至还可以自己写MSIL代码在CLI上面运行。如你所知,欧洲计算机制造商协会(ECMA)已经于2001年10月13日批准C#语言规范(ECMA-334)成为一种新诞生的计算机产业标准。同时国际标准组织ISO也同意该标准进入该组织的审批阶段。并且,作为.Net与 CLR的核心部分,CLI与C#也同时获得了ECMA的批准(ECMA-335)。拥有了C#与CLI这两项标准,你可以自己写出能够运行于任何操作系统上的.Net平台(只要你愿意)。如前所述,著名的Mono项目就是这么干的,Mono项目包括三个核心的部分:一个C#语言的编译器,一个CLI和一个类库。在Java的世界中,这项工作是由SUN公司完成的,SUN针对不同的操作系统开发出相应的Java虚拟机以便让一个由Java开发的应用程序运行在不同的操作系统上,但是迄今为止还没听说过微软有这方面打算(为用户提供非Windows系统的.Net平台)。

.NET如何使用内存—餐馆案例分析

五,程序的开发和执行

1,程序的开发:与传统的脚本环境如ASP,PHP相较,ASP.NET 也鼓励程序设计师采用 事件驱动 (Event-Driven Programming)的用户图形界面 (GUI)的方式进行开发工作。开发者可以拥有相似视窗环境的Web 控件(Button、Label等),来建立类似GUI(图形用户界面)的操作环境。这些Web控件都有各自的事件,除此之外,也可以利用程序码来设定这些控件的属性。.NET 平台会自行处理这些控件的所有细节:就好比视窗应用程序会自动处理控件然后在屏幕上显示。而.NET 平台会自动处理Web Form上的Web控件,产生的 HTML标签和Java Script等,生成结果页面送到用户浏览器中。

.NET 平台尝试将现有的网页技术 (如 Javascript) 结合到内部元件中,如使用ViewState?给本来没有状态的网络环境带来持续的多请求间的状态保持。

在 ASP.NET 的环境里,开发人员可以在撰写程序码时,把许多控件、类别或工具直接剪下,然后贴在其它类似性质的开发作业中。资料存取 (Data Access) 就是一个例子 (把数据库中的记录显示在画面上)。

2,ASP.Net程序的执行

ASP.Net并不被编译成为能够直接在计算机上执行的二进制本地代码。与Java类似,它被编译成为中间代码,然后通过.NET Framework的虚拟机——被称之为通用语言运行时(CLR)——执行。

所有的.Net编程语言都被编译成这种被称为MSIL(Microsoft Intermediate Language )的中间代码。因此虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名。但是实际上,如果计算机上没有安装.Net Framework,那么这些程序将不能够被执行。

在程序执行时,.NET 平台会先把整个网站先编译成一个 (或数个) dll(二进制机器码)档案,然后让网站服务器执行。最终的二进制代码被存储在一个缓冲区中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样如果一个.Net程序第二次被运行,那么这种翻译不需要进行第二次,这样就比传统的脚本语言如ASP速度明显加快。

3,C#程序的执行

C#编译器(csc.exe)编译后的文件并不是一个严格意义上的可执行文件(并不包含机器代码),而是一个PE (portable executable)格式的文件,虽然它同样拥有.exe的后缀名。在这个PE文件中也不仅仅只包含MSIL(微软中间语言(Microsoft Intermediate Language,中间语言),在其中还包含有元数据 (Metadata)和一个由编译器添加的目标平台的标准可执行文件头。

MSIL是由微软定义的一种界于源代码与机器码之间的一种语言。在CLR中,它首先会由特定的语言编译器将其包装成exe格式的伪代码 (P代码)。再由特定的编译器将其转换为本地代码执行。对于微软中间语言,一个形象的比喻是:如果CLR是操作系统的话,那么微软中间语言就是. Net平台上的ASM汇编语言。它比大多数 CPU 机器语言更为高级,比如它可以理解对象类型,并具有创建和初始化对象、调用关于对象的虚拟方法以及直接操作处理数组元素的指令。它甚至还具有发现和捕获异常情况用于错误处理的指令。

元数据(Metadata)和MSIL共同存在于编译好的程序文件之中,描述了此程序包含的类型的定义、各种类型的签名及其它一些数据,相当于以前的类型库(Type Library),同时也记载了此程序所引用到的其它外部类。元数据的主要作用是将与代码有关的更多的信息提供给CLR。基本上,元数据用于如下各项任务:用于表示CLR用途的信息,如定位和装载类、内存中这些类的实例、解决调用、翻译IL为原始码、加强安全并设置运行时上下文边界。

一个由C#语言写就的源码文件在CLR环境中执行的过程是这样的:首先由C#编译器编译成包含了中间语言和元数据的PE文件,当我们在系统中调用这个文件时,CLR会启动一个编译器再将这个PE文件包含的MSIL代码转换成为托管的本地代码。转换MSIL代码为本地码的这个编译器就叫做 JIT编译器 (Just In Time,JITer)。请注意它并不是前面我们用到的C#编译器。

现在让我们看看JIT编译器是如何工作的:当PE文件被调用时,JIE编译器将其分解为MSIL和元数据,这时候MSIL并不直接让.Net去调用本地的系统接口,而是指定.Net系统去编译连接那些需要的CLR DLL,编译出百分之百的本地代码。整个的过程如下:

当一个类型被装载时,装载器创建一个存根(stub),并使它与类型的每一个方法相连接。当一个方法第一次被调用时,存根把控制交给 JITer。JITer 把MSIL编译为本地代码,并且把存根指针指向缓冲本地代码。已经被JITer编译的方法随后就直接调用已经产生的本地代码,减少了JITer编译和执行代码的时间。可以看到,JITer并不会一次性的将所有的MSIL都编译为本地代码,而是在我们需要时才即时编译,也就是说,有些代码可能从来都没有被编译过。很明显这样做的好处是既保证了运行期的安全性,又不会损失太多的效率。

这就是一个C#程序执行时的步骤。整个过程是这样的:

1) 由C#编译器将源代码编译为中间语言

2) 装入托管代码,这包括解决内存中的名字、表层类(laying out classes ),并且创建JIT编译所必需的存根。通过执行经常性校验,包括加强一些访问规则,类装载器同样也增强了安全性

3) 用JITer将 IL转换成原始代码

4) 装入元数据、校验类型安全和方法的完整性

5) 垃圾收集(GC)和异常处理

6) 描绘和查错服务

7) 管理线程和上下文以及远程管理。

六,优势分析

使用者自订控件可以让多个网页当作样板一般套用:例如像网站上的选单。

有许多类似视窗应用程序的控件,可用在网页应用程序的开发工作,让两者之间的转换更直觉。

有许多的控件及类别库让应用程序的开发工作更为快速。

ASP.net 1.0和1.1产生的网页不符合web标准且与非IE浏览器兼容性差,这在ASP.net 2.0中已经解决,但某些控件如登录控件仍然使用表格来布局。

七,ASPDotNet语法基础

ASPDot Net语法基础

天轰穿ASPDotNet教程

八,数据访问ADO.NET

数据访问ADOPDot NET

九,测试、调试和优化

ASPDot NET测试

ASPDot NET优化

ASPDot NET反汇编

1, 调试:

asp.net在ie里直接调试:菜单-调试-进程-勾上显示系统进程,选中w3p即运行asp.net的服务进行-点附加-选第一个clr和第三个script

然后只要在项目里设上断点,在ie里访问到断点页面的时候就会启动调试

十,部署配置

1, 利用app_offline.htm避免更新时中止网站

在asp.net 2.0中,如果你要COPY站点,进行站点维护,部署,和进行大量修改,有可能要停掉你的WEB应用程序了,而以一个友好的方式提示给用户,比如什么“本网站正在更新”等等的信息,在ASP。NET 2。0中,你可以建立一个叫app_offline.htm(大小写没关系)的静态HTM页面文件,其中修改成你要临时显示的内容,将其放在你的应用的根目录下。这样,任何外部的请求的话,都会马上被转移到该页面了。这个时候,你的网站依然可以被访问,只不过你的应用不能被访问了。呵呵,那样的话,就可以避免很多更新网站是的麻烦事了。

当然,另一个方法,也可以在vs.net 2005的website菜单下的asp .net configuration管理工具中,使你的站点offline.

要注意的是,这个app_offline.htm页面的大小,要大于512字节,用asp.net 之父SCOTT的话来说,就是” Make sure the app_offline.htm file is large enough (512 bytes) to disable the IE “friendly http errors” feature

2, 利用MaintainScrollPositionOnPostback?属性避免刷新后滚动条复原(尤其对asp.net1.1很实用,而asp.net2的ajax可以解决这个问题)

考虑到一个很长的页面,如果每次POSTBACK之后,那个IE的滚动条可能都会回到最开始的地方(最上面),而不会保留其原先已经有的位置,这样用户会比较麻烦,又要把滚动条移动到原来的地方,在asp.net 2.0中,可以设置MaintainScrollPositionOnPostback?属性为TRUE即可,即

<%@ Page Language=“VB” AutoEventWireup?=“false” MaintainScrollPositionOnPostback?=“true” CodeFile?=“MaintainScrollPosition?.aspx.vb” Inherits=“MaintainScrollPosition?” %>

十一,本地化/国际化解决方案

ASP.Net本地化/国际化解决方案原理和代码示例

十二,设计模式和软件框架

ASPDot Net设计模式

十三,ASPDotNet和XML

.net XML引擎驱动事件概述(一)

参考

推荐三篇文章,分别是关于微软企业库、ASP.NET MVC以及SEO优化|

C#与面向对象编程语言——《C#编程极限》第二章.pdf 459k

前几日说到的网站开发框架,正式定名为Pismire,欢迎下载源代码,更欢迎提出中肯的意见乃至是合理的批评!

http://www.yeeyan.com/articles/view/15070/5074 .NET牛人应该知道些什么

C# 3.0的var隱含型別宣告

SharpOS project的目标是用100%的C#语言编写一款操作系统。 但问题是.Net本身就是托管程序,不是原生码,本来就不是用来设计底层如操作系统系统内核之类的。但这群C#狂热爱好者声称内核允许使用任何与平台无关 的中间语言(Common Intermediate Language)bytecodes创造。现在SharpOS第一个重要版本0.0.1版于2008年1月1日正式发布

为WebForms说几句话,以及一些ASP.NET开发上的经验(上)

http://www.verycd.com/topics/117863/ 《VS2005.NET 2.0入门与进阶系列》第一版 浪曦视频在线VS2005.NET 2.0入门与进阶系列[本教程需长期更新] 本教程一共分为4个部分,即 第一部分 C#语言基础 第二部分 SQL Server 2005 第三部分 WinForm编程 第四部分 Web&AJAX编程 通过对这四个部分的详细讲解,引领您走进.net的世界。本教程有浪曦视频在线录制并免费发布

http://www.verycd.com/topics/158841/ 《完全训练Asp.net》(Total Training for Microsoft ASP.NET 2.0)4DVD[ISO] 关于TOTAL TRAINING的背景什么来着的,清楚的人也不需要我多加介绍,不清楚的人,只需要在此下载此资源,就能体验到此教程的优秀!不过是E文的,E文不好的人先做好心理准备。不过既然是E文的,可以同时进行两方面的学习!鱼和熊掌能否兼得,全掌握在你手上!

http://www.verycd.com/topics/152208/ 《浪曦视频教程》基本同步更新

http://www.verycd.com/topics/145088/ 《最强Dot Net教程资料集合》

http://www.verycd.com/topics/89474/ 《VTC微软Visual C#教程》(VTC - Microsoft Visual C#.NET) Microsoft Visual C# .NET的学习变得无比简单,不用参加昂贵的学习班,也不用看晦涩难懂的书籍,只要坐在你的桌子前面,根据自身情况调节速度,能让你轻车熟路的高质量训练易学易用,VTC独特的训练方式,适用于任何的学习方式。视频为mov格式,高清晰度,包含134节课,一共8个小时。适用于任何操作系统的播放,只要有mov格式的解码器就行。注意,是英文教程,英文水平还没有达到四级的同学,请三思。大家可以到官方网站去看看,有免费的课程体验,现检验以下自己的英文水平是否达标。http://www.vtc.com/products/csharp.htm#

http://www.verycd.com/topics/153661/ 《ASP.NET 2.0动态网站开发教程》【PDG】 全书共21章分为四部分。第一部分介绍ASP.NET 2.0的基础知识,包括.NET框架的体系结构、ASPX网页的运行机制、验证控件的使用以及相关的浏览器技术。第二部分介绍了数据访问技术,包括 ADO.NET的系统结构,对数据库的连接、显示、编辑与同步,以及使用存储过程、数据缓存的方法等。第三部分站在网站的高度介绍了网页界面一致性的设 计、网站导航以及网页保护等方面的问题。第四部分介绍了三层架构以及个性化设计等方面的问题。本书的内容以应用开发为主线,叙述方法的主要特点是通过大量 示例来说明问题。除此以外,书中还提供了几个典型的综合应用,如网上招聘网页的设计、以订单为中心的电子商务网站的设计等,只需对它们稍加修改即可应用于 实际工作之中。 本书是高等学校计算机专业及电子信息类等相关专业的教材,亦可作为高等学校非计算机专业的教材或其他学习ASP.NET语言人员的自学教材。

http://www.verycd.com/topics/121744/ 《C#入门经典 第三版 中英文电子书及代码》(Wrox Beginning Visual C Sharp 2005)chm,pdg格式电子书   本书将全面介绍C#编程的所有知识,共分为5篇:第1篇是C#语言:介绍了C#语言的所有内容,从基础知识到面向对象的技术,应有尽有。第2 篇是Windows编程:介绍如何用C#编写Windows应用程序,如何部署它们。第3篇是Web编程:描述Web应用程序的开发、Web服务和Web 应用程序的部署。第4篇是数据访问:介绍在应用程序中如何使用数据,包括存储在硬盘文件上的数据、以XML格式存储的数据和数据库中的数据。第5篇是其他 技术:讲述使用C#和.NET Framework的一些额外方式,包括程序集、属性、XML文档、网络和GDI+图形编程。 本书适合于想学习使用.NET Framework编写C#程序的初级读者,也适合于已了解.NET 1.0,而想学习.NET 2.0和Visual Studio 2005最新功能的读者。

http://www.verycd.com/topics/118784/ 《ASP.net企业实战》第一版 本套视频没有理论的讲解asp.net的基础知识,而是以企业实战为目的,向众多的 asp.net的学习者与爱好者展示了,在企业开发中中asp.net的运用,开法方法、开发过程。教程对学校开发与企业开发作了比较,通过最通俗易懂的实例“登录”,讲解了两者的区别,凸显了企业开发的方法流程。视频由某项目经理亲自录制。压缩包内共包含四次讲课内容:[A093]ASP.net企业实战 抛砖引玉(上).rar [A095]ASP.net企业实战 抛砖引玉(下).rar [A097]ASP.net企业实战 抛砖引玉(续).rar [A099]ASP.net企业实战 企业开发流程探讨.rar 本次视频采用webex录制,如不能观看请下载播放器。

http://xiaotie.cnblogs.com/archive/2005/09/21/241192.html .net敏捷开发及常用工具

抠出Visual Studio 2005中的Windows Mobile模拟器

用C++/CLI撰写ASP.NET的方式

建立智能客户端应用的开发路标:微软技术学习曲线

vs2005入门 之 类-继承(本章小节)视频

ASPDotNet源程序示例:Starter Kit for ASP.NET 2.0 家族又添新丁

ASPDotNet源程序示例:By The Community, For the Community 终于发布了!

CommunityServer 的对象持久化

全面解析ASP.NET2.0下的URL重写

Asp.net1.1升级到2.0遇到的一些问题总结

CLR实现,CLR调试:Windows用户态程序高效排错

了解ASP.NET底层架构

C#学习笔记(三)

目前版本資訊

ASP.NET articles

Developer Fusion; ASP.NET tutorials and source code

W3Schools tutorial

Mono: An open source .NET Framework implementation that runs on many platforms

Official Web Development Designer for ASP.NET

ASPAlliance: ASP and ASP.NET Tutorials

开发团队链接

许多ASP.NET开发团队成员都维护着自己的博客(blog),举例如下: Scott Guthrie, 总经理 - http://weblogs.asp.net/scottgu

Nikhil Kothari, 架构师 - http://www.nikhilk.net

Brian Goldfarb, 产品经理 - http://blogs.msdn.com/bgold

Shanku Niyogi, 产品模块经理 - http://www.shankun.com

Bertrand Le Roy, 开发者 - http://weblogs.asp.net/bleroy

Microsoft链接 微软ASP.NET官方站

微软ASP.NET的MSDN站

Visual Web Developer Express Edition 2005

官方的ASP.NET网页开发设计器

其它应用 Mono: 开源,跨平台的.NET Framework应用

UltiDev Cassini: IIS替代品 - 可以随ASP.NET 1.1和2.0应用一起发布的免费网页服务器。

培训教程 Developer Fusion; ASP.NET教程和源码

W3Schools教程

WWWCoder.com: ASP, ASP.NET, and DotNetNuke 教程

4GuysFromRolla.com: ASP and ASP.NET教程

LearnAsp.com ASP and ASP.net教程

ASPAlliance: ASP and ASP.NET教程

ASP.NET教程

Startvbdotnet.com: ASP.NET教程

社区

ASP.NET面试问题 Dot Net Junkies

C#之友: ASP.NET教程,新闻,论坛 ASP.NET Podcast

今天在MSN Group里面和一些朋友谈ASP.net程序的性能优化