大家知道,
Microsoft为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将IIS6.0安装到
WindowsServer2003家族的成员上。而且,当我们最初安装IIS6.0时,该服务在高度
安全和"锁定"模式下安装。在默认情况下,IIS6.0只为静态内容提供服务即,诸如ASP、ASP.NET、在
+ c# Y, l2 k% v ?. k0 h) p$ X服务器
) C# d% z: A" @ ]0 y" z端的包含文件、
WebDAV发布和FrontPageServerExtensions
功能只有在启用时才工作。在
windows2003IIS6.0中安装部署ASP.net
环境,我们首先要了解一下IIS6.0新的特点,在windows2003Server下如何安装IIS6.0,在IIS6.0的配合下我们如何来安装和渴%26;#39177;SP.net环境,以及它们之间关系,下面的内容将给大家一个解答。
+ R: s& O. R6 p: W5 M" s3 T( ?9 k一、IIS6.0新特点
; N* k# d2 M8 Z5 O' E+ Z# f[color=#FFFFFF']
7 j; _! V. Y. {. N, T
# i3 B3 H7 Y, X6 ] y/ v IIS6.0包括许多新功能,它们旨在帮助企业、IT专业人士和Web
管理员实现其
网站(他们可能拥有位于单个IIS6.0
) ~, G6 I3 Z6 B& V/ x服务器% N0 ?+ N, O2 {$ b0 g* w6 t
或多个
2 m/ H8 F9 _0 }+ T& ]' {
服务器
9 ?* h( @' W' r" a; [, u; n上的数千个网站)在
性能、可靠性、可伸缩性和安全性方面的目标。
$ g6 H" U7 R- {1 J G. n; e 下表总结了不同版本的IIS之间的重要区别。
- y+ }9 d/ J( x# N1 `
! B- `! X* g0 [2 H6 \! a$ j4 [# h9 z( H; z, b# A) V
& l- h; f# H V6 e3 v2 e1 t/ S- w' W% X8 P9 F' l* D
( v, S" l U0 ^+ s; j
1 T( C. s7 k: MIIS4.0
, |. v9 A: W7 y0 UIIS5.0
9 E$ r: V! M$ ]( s3 g2 wIIS5.1 u; L) p9 n! C- b: n
IIS6.0
4 u* a# a* @: V
, X" F \# }3 T平台: I j; o% \7 y$ t' D* o5 C% C1 w" M9 ~
WindowsNT4.0
; l$ L$ c+ X) A4 M
Windows2000
' t( [& O. G4 D1 R& ^
Windows
XPProfessional
& G; P" O5 _, G' }: z
WindowsServer2003家族
* A* C4 {1 M6 c) ~$ C) x- \7 Z8 J7 K: ~+ ^% c( q0 z
体系结构
N/ g- i$ o( g( G) H% y32位
+ E! A, n* I, Z, ~. p! e
32位
0 |+ W* N( ?1 Y4 V( w32位和64位
, Y6 {+ S3 C0 s- b6 R. I6 |
32位和64位
( v( h) H# |1 c+ s- g V
( H0 a6 {8 H5 t# Q" P1 m8 h6 f应用程序进程模型
2 F4 C W* M7 D6 w5 d
6 ]. X! k l! J! [1 C1 R( x3 L) ATCP/IP内核;MTX.exe
2 b) N$ S- h# C m0 y
' M- a- L# _4 A6 \, o
TCP/IP内核;
9 J. `' F* v) G s) r' D
DLLhost.exe(处于中等或高应用程序隔离模式下的多个DLL主机)
1 X G- j+ L) v
5 N( Q) s4 o8 I! }
TCP/IP内核;
& d2 }7 H' W0 u
DLLhost.exe(处于中等或高应用程序隔离模式下的多个DLL主机)
% i. @# W% Z+ U6 I& @; x[color=#FFFFFF']
2 a2 M9 ?. r% q x) e2 d+ i* D$ d4 `/ Y. r' \
HTTP.sys内核;当IIS以IIS5.0隔离模式运行时:Inetinfo.exe(对于进程内应用程序)或DLLhost.exe(对于进程外应用程序);当IIS以工作进程隔离模式运行时:W3wp.exe(多工作进程)
L; W. ~. Y3 y" x3 a: B
# q9 v. _0 \9 N配置数据库配置3 p# U9 {4 ]) j0 M, y" u0 L
二进制
* f, T4 ~& I+ V9 S4 H7 v \ K$ o二进制
/ e& V; D2 H* _2 c$ m5 z
二进制
9 q2 V" z( R9 O; e4 ?
XML
# N. p+ T% ~6 T
/ A* A/ p( O% x) q1 l, B安全性8 ~6 o) A- l' W1 q& l& u6 y
Windows身份验证;
SSL9 h$ }8 B! ]* x$ |9 s4 ?
Windows身份验证;SSL;Kerberos
. l* v% [- u; B
Windows身份验证;SSL;Kerberos;安全向导
1 ^8 H% ^! P& YWindows身份验证;SSL;Kerberos;安全向导;Passport支持
3 O6 F+ W3 y, \2 J
. v+ r8 H- T6 O3 `- X
远程管理. ^2 Z0 y& F+ E# W5 S4 g; P9 J& {
HTMLA
/ |" [$ L1 D+ X% F
HTMLA
, M/ R1 v/ h) s! T+ Q' k8 B1 G4 i; Z
无HTMLA
0 t% ?% G$ q' D! B8 j) I& t1 T! v
[color=#FFFFFF']
9 _, G9 N6 c9 p" `. t
1 b: Q: G7 u( \/ ^) F- b
终端服务
) Z' b4 ~2 D% ?! z8 k
/ G4 ?( U0 O) o5 |
远程管理工具(HTML)
: k2 l0 x* Q# K1 h5 g4 x5 k[color=#FFFFFF']
w; a2 _4 _ w. }
& H) ?/ I D0 ]+ W0 g4 x- u; ]终端服务
" G7 A3 C( C9 }
; z3 m: N* h& `3 i4 W群集支持
, Y/ X9 g& y/ j4 a. @在WindowsNT4.0中
. \$ M) ^# v; c" c+ s" {; j7 H' RIIS群集
5 D2 b* u, C# Y3 U1 I! w, Q: XWindows支持
8 k, ?; E* E, [Windows支持
* t# ]5 O7 ?7 e) D+ \. s- X
0 C) G- P1 |8 ^+ D# R& C" E \WWW服务
6 M8 X4 i* ~/ w f% |WindowsNT4.0上的IIS
* ~0 z7 o: h8 k% M2 R
Windows9x上的个人Web管理器;Windows2000上的IIS
V9 [4 |2 v0 m' b3 z1 ~(可选)WindowsXPProfessional上的IIS
* W% ~5 ~9 l8 {; S8 M
WindowsServer2003家族成员上的
0 l2 q6 v+ f. k! A1 Y
( q. ]0 j# X& J$ q9 [$ o- _二、在Windows2003Server安装IIS6.0; f1 F$ e) s& h$ C% W3 T; `
服务器
7 {2 O; W, m- u$ Y3 i& g8 ]0 d1 I2 f/ S4 y: N
0 U. c" @* g7 h" V# U e- }
1、使用"配置您的
# L s. G" W& y服务器
' k7 x) c4 Q7 }% q& R0 a9 f9 d3 T& y向导"安装IIS6.0
/ h1 R# q- O2 `' Y4 Q" Q. e' X7 o' c: O
8 i% b; F9 T# C+ _1 h8 R/ ?% t 1)从"开始"菜单,单击"管理您的
" u. @, v6 H9 ?* U! L* |
服务器
m) T! E2 n5 j/ }- P! w"。
7 R. H8 F# A( _1 x7 W; q 2)在"管理您的
$ p' M6 ^" |1 A8 |& f服务器7 N. j) C# u3 {/ U' ~4 R3 a. u
角色"下,单击"添加或删除角色"。
$ E3 W8 `: G# O/ P' y 3)阅读"配置您的
' C3 X" o' V4 z- \; e, e
服务器% L S" @; a/ g' F x
向导"中的预备步骤,然后单击"下一步"。
! `: a k4 b6 J. ?# J) f& K 4)在"
+ x6 A( A j2 K. U
服务器0 L+ J! O: P5 o+ i
角色"下,单击"应用程序
% Z0 M# S, y4 c* O: t7 N. Y* ^
服务器
" ?& `$ S* E# E8 M1 |(IIS,ASP.NET)",然后单击"下一步"。
, I, f7 s, e! h! s 5)阅读概要
信息,然后单击"下一步"。
1 n. O9 D R* L5 w. ?
6)单击"完成"。
( n$ i2 w$ W2 p; J 2、使用控制面板安装IIS、添加组件或删除组件
& n1 w9 _& n4 E! @
6 D' \) h& r+ G1 W2 }+ T9 l
1)从"开始"菜单,单击"控制面板"。
$ K. Z1 N3 ~' f; q" W0 V 2)双击"添加或删除程序"。
) c, \5 U9 E5 _" Y1 {: e( t8 J/ ]
3)单击"添加/删除Windows组件"。
/ P z0 P, R9 I
4)在"组件"列表框中,单击"应用程序
" j" C) v5 H2 }$ l( q! \, _( g' R
服务器
0 m) p2 G4 j# J/ n+ v5 Q q"。
5 F& ~2 p6 I; A8 d 5)单击"详细信息"。
5 K3 G- m7 r0 `( | 6)单击"Internet信息服务管理器"。
! S1 X: S: q. c/ M/ d+ i# ^6 }
7)单击"详细信息"以查看IIS可选组件的列表。
5 z; V! q# L( e
8)选择要安装的所有可选组件。
! V2 U. f) k6 R) L
9)单击"确定",直到返回到"Windows组件向导"。
, \: D: q. O& ]5 B 10)单击"下一步",然后完成"Windows组件向导"。
) E) o! b2 Z8 X8 y b三、在Windows2003Server安装ASP.NET" C# c! ?' Y0 X
- M1 A$ e( h& [% r6 O
WindowsServer2003家族利用ASP.NET和IIS集成改善了开发人员体验。ASP.NET识别大多数ASP代码,同时为创建可作为Microsoft.NETFramework的一部分工作的企业级Web应用程序提供更多的功能。使用ASP.NET允许我们充分利用公共语言运行库的功能,如
类型安全、继承、语言互操作性和版本控制。IIS6.0还为最新的Web
标准,包括XML、简单
对象访问协议(SOAP)和Internet协议版本6.0(IPv6.0),提供支持。
+ N% V9 `. M8 L/ ~5 s# p8 |" L
! C9 f5 D O+ p( \# e ASP.NET是一个统一的Web开发平台,它提供开发人员创建企业级Web应用程序所需的服务。尽管ASP.NET的语法基本上与ASP兼容,但是它还提供了一个新的
编程模型和基础结构以提高应用程序的安全性、缩放性和稳定性。通过逐渐向现有的ASP应用程序增加ASP.NET功能,我们可以自由地使其增大。ASP.NET是一个编译的、基于.NET的环境;我们可以用任何.NET兼容的语言(包括MicrosoftVisualBasic.NET,MicrosoftVisualC#和MicrosoftJScript.NET)创作应用程序。另外,整个Microsoft.NETFramework可用于任何ASP.NET应用程序。开发人员可以很容易地从这些
技术受益,这些技术包括管理的公共语言运行库环境、类型安全、继承等。
- ]- ]' o* q. P# E! ^" C! B& ~2 Y- p
ASP.NET的优点如下:
0 h2 h; L& [9 }2 q2 }4 S1 ?
7 H, E3 j. @7 z8 ]! X
1)可管
理性:ASP.NET使用基于文本的、分级的配置
系统,简化了将设置应用于
5 Q: d7 q/ Z) B p! D$ E
服务器- Y4 c. O7 _9 W) I) \3 q
环境和Web应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。
5 H( s2 }1 ]% P3 A, I
2)安全:ASP.NET为Web应用程序提供了默认的授权和身份验证
方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些
方案。
: K8 c/ b3 t3 K+ V
3)易于部署:通过简单地将必要的文件复制到
" c' T: H3 Z# z1 z8 }, L
服务器
/ j( Q( V8 i! }2 d( _上,ASP.NET应用程序即可以部署到该
1 ~ } m, r! I6 W
服务器
. G9 f* j4 ^& r$ y+ f上。不需要重新启动
, k& L7 c) W. i/ r+ b7 m. M- R) e* A# }
服务器
[7 c1 u( n. N$ c* E; X, V) E,甚至在部署或替换运行的已编译代码时也不需要重新启动。
) q. t9 [( Q+ g; S5 F+ x; \+ z2 _ 4)增强的性能:ASP.NET是运行在
3 I# {* _) X0 m7 @服务器
" G5 ] a- e4 n9 a; Z% I% W C8 z上的已编译代码。与传统的ActiveServerPages(ASP)不同,ASP.NET能利用早期绑定、实时(JIT)编译、本机
优化和全新的缓存服务来提高性能。
6 l) U" m- }/ p4 d7 n1 A5 f 5)灵活的输出缓存:根据应用程序的需要,ASP.NET可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。
& u( p& v2 N8 k. ]; K6 C
6)国际化:ASP.NET在内部使用Unicode以表示请求和响应数据。可以为每台
计算机、每个目录和每页配置国际化设置。
9 y+ x2 [+ ?) {8 o- F# h
7)移动设备支持:ASP.NET支持任何设备上的任何
浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。
+ u1 C$ w+ p* T4 r m% d" V; H Y/ |
8)扩展性和可用性:ASP.NET被设计成可扩展的、具有特别专有的功能来提高群集的、多
处理器环境的性能。此外,Internet信息服务(IIS)和ASP.NET运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。
& R/ Z9 n. \+ _! K5 \' `: L+ g
9)跟踪和调试:ASP.NET提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET支持使用.NETFramework调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。
- p. L* u% I9 S8 c+ B; t 10)与.NETFramework集成:因为ASP.NET是.NETFramework的一部分,整个平台的功能和灵活性对Web应用程序都是可用的。也可从Web上流畅地访问.NET类库以及消息和数据访问
解决方案。ASP.NET是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于COM开发的现有投资。
( g* ]. I4 `! _
11)与现有ASP应用程序的兼容性:ASP和ASP.NET可并行运行在IISWeb
# x3 J% ~. z$ S服务器
+ v3 F: o6 K3 R" i上而互不冲突;不会发生因安装ASP.NET而导致现有ASP应用程序崩溃的可能。ASP.NET仅处理具有.aspx
文件扩展名的文件。具有.asp文件扩展名的文件继续由ASP引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在ASP和ASP.NET页面之间
共享。
. ]" V& E; |: Y安装ASP.NET
" u1 F: {9 W9 l( J* I
% i" l8 r ?- m u k @
在WindowsServer2003家族、Windows2000(Professional、Server和AdvancedServer)以及WindowsXPProfessional上的客户端和
3 U. q. a% j+ A$ l" G1 f3 j服务器
, O0 {' U" O$ a' n" e% i, [应用程序都支持ASP.NET。
$ g, b$ b& j" V: O
. z. v) _' r: U( u9 J! ~ 运行MicrosoftWindowsServer2003家族成员的
& L# {# o8 V8 W
服务器6 \4 [# g9 z% X. p- ]" t* m" F' }' E
可以配置为应用程序
- C" H& p+ \4 l o服务器6 B# D( A! c5 b6 K/ T; p
,并将ASP.NET作为在配置应用程序
) i' J% U( T7 i0 o; I7 `服务器
* f) [6 c+ { @% [; `角色时可以启用的选项。要向产品
$ }- r" M5 N9 F* Z9 S, S# Y: Q' n: y服务器
( m) L* q6 h E( }' n% a部署ASP.NETWeb应用程序,在分发应用程序之前,必须确保在产品
T5 L. O/ S3 v/ c服务器. Y1 T& v" W* |$ P' `- M- V1 D3 }) L& z
中启用了ASP.NET和IIS角色。
$ v8 b" j4 b+ {* J& u
( X; n: V' V/ S ^; I
1、使用"配置您的
4 [8 K4 ?$ k! x# |服务器! E( I, |1 n/ ], z. J8 T: n
"向导在运行WindowsServer2003的
; |0 \9 `) Q q6 a- H- b; z$ J服务器5 }% v) u) L/ b0 O$ S" F
中安装ASP.NET
+ ]- w4 B; n( r4 s0 x: G# i, v$ `; l6 j% z: e5 p. ~0 i
1)从"开始"菜单中,单击"管理您的
* H6 m N4 I2 g* O" l1 ?. Y5 z服务器
7 a9 E9 Y+ B" {+ s3 b6 E! @0 u";在"管理您的
9 s, p1 g% @3 O" a, o- V
服务器' w4 c& X' i5 x( n5 \' D
"窗口中,单击"添加或删除角色"。
! C) ?8 m& |: y- @9 n4 G
2)在"配置您的
! p3 N* n* I' [$ P* F7 J
服务器8 v8 E) [' s5 C! \
向导"中,单击"下一步",并在"
# K. O& r7 d1 Y; t8 P服务器, T/ s0 @' W& c( O8 B) U
角色"对话框中,选中"应用程序
8 R0 z ^7 J5 z; ~1 e2 q4 K服务器
& s+ |& I: [! q(IIS、ASP.NET)",然后单击"下一步"。
6 A8 U* W4 v$ b- @* L
3)在"应用程序
6 g/ d2 h% F* F/ C8 ]0 q2 v, W服务器& D6 H) e( h2 b0 n# D
选项"对话框中,选中"启用ASP.NET"复选框,单击"下一步",然后再单击"下一步"。
- b( `* I2 P! \! Q7 C) F- V2 l
4)如有必要,请将WindowsServer2003安装CD插入CD-ROM
驱动器,然后单击"下一步"。
3 l9 F6 F' }* r" X
5)当安装完成时,单击"完成"。
/ m1 ] q' `0 c" r8 n8 O
2、在运行WindowsServer2003的
" R+ T8 o7 S2 \0 r/ {
服务器8 t& Z' V& |3 D. {) ^- ~( y4 v U- @
中使用"添加或删除程序"安装ASP.NET
- K# }# V1 g2 P& \
, l( \6 Z, ?) T7 `% q6 Y% n- G
1)从"开始"菜单中,指向"控制面板",然后单击"添加或删除程序"。
D2 }- W/ H. ] 2)在"添加或删除程序"对话框中,单击"添加/删除Windows组件"。
( f) P0 g9 K8 T* j: j
3)在"Windows组件"向导中的"组件"中,选中"应用程序
6 n! N% A5 [5 L' c$ _# v1 H服务器9 ]1 J6 O" F1 g/ z, a( W" L
"复选框,然后单击"下一步"。
7 ?0 l& h; c6 Q7 q5 `) l( _3 p 4)当在"Windows组件"向导中完成对WindowsServer2003的配置时,单击"完成"。
9 o" B+ `0 a, a" w8 }! E; @- a 3、在运行WindowsServer2003的
5 C6 e% |; g4 k9 q
服务器
9 ]1 ?% ]' e, v/ K3 s4 [中的IIS管理器中启用ASP.NET
& j5 ?8 w5 X! y2 y5 a
% o: G( ]/ J( x% R8 L8 C 1)从"开始"菜单中,单击"运行"。
% Q" R% }$ c! Z }# l7 u5 i6 m
2)在"运行"对话框中的"打开"框中,键入inetmgr,然后单击"确定"。
0 _( A, P& m! [4 h) l6 d/ Q8 U
3)在IIS管理器中,展开本地计算机,然后单击"Web服务扩展"。
& l% S& H. t3 g8 }3 v- }0 J/ V* J4 H 4)在右侧窗格中,右键单击"ASP.NET"然后单击"允许"。ASP.NET的状态变为"允许"。
& S- g; c% }! s/ S2 W
ASP.NETWeb应用程序的布局
- H4 l7 c6 [( S/ C9 T/ a" P3 q
- C/ ?/ u& Z, \5 f! [
ASP.NET应用程序被定义为可从Web
& @: c; J4 }! C1 j& @
服务器9 x! h& T( u) _
上的虚拟目录及其子目录中调用的所有文件和可执行码。其中可以包含网页(.html文件)、Web表单页面(.aspx文件)、Web表单用户控件(.ascx文件)、XMLWeb服务(.asmx文件)、HTTP处理程序、HTTP模块和其他文件(如图像和配置文件)。现在使用的所有与Microsoft.NETFramework版本相关的脚本映射也都是ASP.NET应用程序的一部分。ASP.NET应用程序必须位于IIS虚拟目录(也称为应用程序根目录)中。ASP.NET应用程序可包含已编译的程序集(通常是包含业务
逻辑的DLL文件)、用于存储预编译代码的已知目录(目录名总是\Bin)、存储在基于文本的、易读的Web.config文件中的配置设置、页、
% T4 i( i5 C9 g. `1 f. {' Q
服务器
) B9 M# R% g. a" o! C3 K9 S控件,以及XMLWeb服务。
+ {9 K% u) [$ ^' |) I! {5 g. {
3 v6 V- I. T: {1 u
: d, m% O. P, r/ \3 Q% {: E2 Z服务器
5 K$ J x' ?' Y" u" q' o2 k中任何不与其他应用程序共享的预编译代码必须存储在应用程序的\Bin目录中。它是应用程序的本地程序集缓存。Web.config文件在基于XML的文本文件中存储应用程序级的配置文件。这意味着可以使用任意标准的文本
编辑器或XML分析器来创建它们,而且它们是可读的。如果不在应用程序根目录中包含Web.config文件,则配置设置由Machine.config文件中整个
7 x0 Q" C) J! T
服务器' j0 o# O8 |6 o
的配置文件来确定。安装.NETFramework时,会安装Machine.config文件的某个版本。
) x7 \6 ]* t1 |) I
/ C, i, x8 T# } 下图显示了ASP.NET应用程序文件系统布局的示例。
$ J2 D# {8 \3 y
7 J) ]2 x- q, y& u: v3 W0 Z
: ?5 i! K: j( C6 l
) F3 s7 z1 d9 n+ ? W) J% Z$ Q
4 g; | Z$ i% L* J0 u5 y
. v, C* s/ A8 p4 K: B[color=#FFFFFF']
+ e1 y6 J5 Q! Y3 N! G0 g) K5 b* ], Q I- d$ u2 V
本图中的应用程序包括\Bin目录中的两个DLL文件、一个Default.aspx页,一个名为Menu.ascx的用户控件、一个名为MyWebService.asmx的XMLWeb服务以及一个Global.asax文件。另外,该应用程序是使用下列三个配置文件配置的:系统根目录中计算机级别的Machine.config文件、C:\Inetpub\Wwwroot目录中站点级别的Web.config文件和应用程序根目录中应用程序级别的Web.config文件。当站点的Web.config文件覆盖Machine.config文件中的设置时,在应用程序根目录中存储的配置设置将覆盖站点的Web.config文件和Machine.config文件中的设置。
9 g+ P9 {9 Q9 d4 k6 \
[color=#FFFFFF']
9 n3 @4 G5 Q! ]- M; o& a
ASP.NET与IIS、ASP之间的比较
9 s. J$ ]6 r* R* X/ ~
% R* \7 c) G2 r$ m ASP.NET应用程序与Internet信息服务(IIS)之间的关系如下:IIS通过aspnet_isapi.dll(ASP.NET的进程模型)对可发布的ASP.NET文件的所有请求提供服务。IIS不会处理
9 P) q: s8 y" u, c: \服务器
. I3 I! ^, t/ X, M2 c端的代码;而ASP.NET引擎则会处理
7 G: N+ c0 n* d3 n4 s0 e# R服务器* I+ @0 M1 n1 Y7 z' f' i- `
端代码,然后将输出返回给IIS(如果可能,或另一个Web
; B. O/ _& |+ }) |7 V, c服务器; u5 U, ^9 \6 S" i7 u( P7 t0 b2 f
)。
6 W' r, o. `+ c9 l: IASP.NET并非仅仅是下一代的ASP,它为创建利用Internet的
网络应用程序提供了全新的编程模型。ASP.NET与ASP比较的特点如下:
7 s8 m R( t; @2 _9 a! X/ f; @2 ^- U3 Z$ V, N
1、改进的性能和可伸缩性
2 z2 T3 X7 F# U5 M6 \
3 r+ T0 a- M) h4 t: w8 N! q 1)编译后执行:ASP.NET比传统ASP的运行
速度更快,同时保留了ASP"只需点击保存"的更新模型。无需显式的编译步骤。ASP.NET自动检测变化,根据需要动态编译文件,并且保存编译结果以便后续的请求再次使用。动态编译保证了用户的应用程序总是最新的,并且编译后执行的操作会使其运行速度更快。对于多数从传统的ASP迁移到ASP.NET的应用程序,其处理的页数增长了3至5倍。
2 S8 ?. t' ^ y- b( ?
2)大容量输出缓存:ASP.NET输出缓存极大地改进了应用程序的性能和可伸缩性。当在页面中启用输出缓存时,ASP.NET就会执行一次该页并将结果在发送至用户之前保存在
内存中。当其他用户请求同一页面时,ASP.NET使用
内存中的缓存结果向用户提供服务,而不是重新执行该页面。输出缓存是可配置的,并且可以用来缓存单个区域或整个页面。
- ]1 `3 d1 X1 _6 P8 X* N/ C0 F& q
3)Web场会话状态:ASP.NET会话状态允许我们在Web场中的所有计算机之间共享会话数据。现在,用户可以通过多个请求访问Web场中不同的
+ B0 k9 s% }3 y) P" K$ i
服务器
# p' d- X! L2 F! `' a% y,并且仍然具有完全访问会话数据的权限。
9 t E. D: y" l. Z/ z
; x- _- q* L. j3 I7 |& o' N; {; \: o 2、增强的可靠性
}0 c7 r# g2 }; J& e
+ K5 }3 A' [8 D0 n 内存泄漏、死锁和
故障保护:ASP.NET自动检测错误(例如,死锁和内存泄漏)并进行恢复以确保我们的应用程序始终可用。例如,当检测到内存泄漏时,ASP.NET将自动启动新的ASP.NET工作进程副本,并将所有的新请求定向到该进程。当旧进程完成挂起请求的处理后,会经过适当的处置并释放泄漏的内存。
* J8 O$ t2 N# l& F5 C
% \! _; |. a0 f
3、部署简单
: k' t: H3 Q/ L
' _5 Q! ?* e$ I( o 1)"非接触式"应用程序部署:使用ASP.NET,我们可以通过将其复制到
5 Y: \! T. D0 p7 u) a+ i, c服务器
9 z- a* r. i& }/ Q来进行整个应用程序的部署。配置设置将存储在应用程序的XML文件中。
$ U& H2 e! t5 f 2)动态更新运行的应用程序:ASP.NET允许我们不必重新启动Web
: C; r# @1 j" |1 I1 d7 I' M7 ^
服务器
, m2 X, Q+ a. U5 ]( r而更新已编译的组件。与传统的COM组件(这些组件需要在部署更新后手动重新启动Web
5 \$ ~! ]! O0 u, a- g" Z
服务器: K4 A7 Y" T* E7 w. P2 g
)不同,ASP.NET自动检测更改并使用新的代码启动。
( g" T3 q% t7 n1 _
3)迁移路径简单:ASP.NET可以和传统的ASP应用程序一起在MicrosoftWindows2000、WindowsXP、以及WindowsServer2003家族成员的IIS上运行。我们可以一次迁移一个应用程序,甚至是单独的页面。ASP.NET甚至允许我们继续使用现有的传统COM
商务组件。
! c0 {2 h9 J* o2 d( h: V
0 H* D G3 p; f8 X* b4 C& C 4、新的应用程序模型
7 ]6 O) t# {' k, O! k; r3 q: x" V; U# N. O7 d) J/ u
1)XMLWeb服务:XMLWeb服务允许应用程序通过Internet进行
通信和共享数据,而不管
操作系统和编程语言如何。ASP.NET使得公开和调用XML网络服务变得简单。
8 c9 n$ J+ M, m& Z; @2 v
2)移动Web设备支持:ASP.NET移动控件允许我们处理超过80台使用ASP.NET的移动Web设备。我们只需一次性写入应用程序,移动控件就能自动生成请求设备的页面。
2 h9 g3 s, [2 T
# V; d$ G6 n* {2 s ~2 |& \ 5、开发人员的效率
, @( k& y& J3 O: S/ k( W
# a6 Y. c# A+ m7 h. y$ L3 p
1)简单的编程模型:具有
: S# N5 X. `# _! l1 O7 ?/ p4 x/ V服务器9 k. l0 C& ]6 I" A
控件(这些控件允许我们使用比传统ASP更少的代码来构建效果极佳的页面)的ASP.NET使得动态构建真实的Web应用程序变得更加容易。
; e% b! t* z2 m/ z. I- U0 k 2)灵活的语言选项:ASP.NET不仅支持MicrosoftVisualBasicScriptingEdition(VBScript)和MicrosoftJScript,而且支持25种以上的.NET语言,包括对VisualBasic.NET、MicrosoftC#和JScript.NET的内置支持。
, }( J+ v0 _% j) \' k 3)丰富的类框架:.NETFramework类库提供了4500多种类,这些类封装了大量的功能,诸如XML、数据访问、文件上载、正则表达式、图像生成、性能监视和日志记录、事务、消息队列和SMTP邮件。