自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET的IIS5與IIS6.0

開發(fā) 后端
本文介紹ASP.NET的IIS5與IIS6.0,一般來說,大家不必關(guān)心該問題,而且要了解該問題,又必須清楚IIS各個(gè)版本的模型,而各個(gè)版本又各有各的不同。

自從有了html與http,就有了瀏覽器與Web服務(wù)器,并有了Web應(yīng)用,最初的交互模式是這樣的:

交互模式

該模式很好地運(yùn)行了很多年。然而,隨著計(jì)算機(jī)應(yīng)用的發(fā)展,人們越來越不滿足于只有靜態(tài)內(nèi)容的頁面,而由某種機(jī)制動態(tài)產(chǎn)生html等代碼的需求越來越迫切,于是,很多技術(shù)就應(yīng)運(yùn)而生,ASP.NET就是這樣一種技術(shù)。從本質(zhì)上講,ASP.NET就是一種服務(wù)器端動態(tài)產(chǎn)生html、css、javascript等瀏覽器認(rèn)識的代碼的技術(shù)。ASP.NET的交互模式如下:

ASP.NET的交互模式

由該圖可知,ASP.NET必須解決兩大問題,一是如何與Web服務(wù)器(一般就是指IIS)進(jìn)行交互,二是如何根據(jù)不同請求產(chǎn)生不同的html等代碼。

***個(gè)問題,根據(jù)IIS版本(5,6.0,7.0)的不同,ASP.NET具有不同的進(jìn)程模式與不同的交互模式,該問題不是本篇要講述的。一般來說,大家不必關(guān)心該問題,而且要了解該問題,又必須清楚IIS各個(gè)版本的模型,而各個(gè)版本又各有各的不同,因此,我基本不準(zhǔn)備講述這個(gè)問題,大家有興趣的話,可以自行搜索相關(guān)資料。

我們來討論第二個(gè)問題,這里首先要說明的是,因?yàn)镮IS7.0進(jìn)程模式的變化比較大,我也沒去了解IIS7.0的模型,因此,以下講述及以后講述將只針對IIS5與IIS6.0.我們有理由認(rèn)為,針對IIS5與IIS6.0的講述一般同樣適用于IIS7.0.

先且按下該問題不表,我們來看一段請求玉帝把大象放到冰箱里的代碼(為什么不是上帝?因?yàn)槲抑腥A不歸上帝管),請大家先跟著我的思路來,別急,別急。

  1. usingSystem;  
  2.  
  3. namespaceConsoleApplication3  
  4. {  
  5. classProgram  
  6. {  
  7. staticvoidMain(string[]args)  
  8. {  
  9. Emperoremperor=newEmperor();  
  10. while(true)  
  11. {  
  12. Console.WriteLine("首先給玉帝準(zhǔn)備好大象和冰箱。");  
  13.  
  14. Console.WriteLine("輸入大象的名字:");  
  15. stringelephantName=Console.ReadLine();  
  16. Console.WriteLine("輸入大象的體重:");  
  17. intintelephantWeight=int.Parse(Console.ReadLine());  
  18. Console.WriteLine("輸入冰箱的名字:");  
  19. stringrefrigeratorName=Console.ReadLine();  
  20.  
  21. Elephantelephant=newElephant()  
  22. {  
  23. Name=elephantName,  
  24. Weight=elephantWeight 
  25. };  
  26. Refrigeratorrefrigerator=newRefrigerator()  
  27. {  
  28. Name=refrigeratorName 
  29. };  
  30.  
  31. Contextcontext=newContext()  
  32. {  
  33. Elephant=elephant,  
  34. Refrigerator=refrigerator 
  35. };  
  36.  
  37. emperor.ProcessRequest(context);  
  38.  
  39. Console.WriteLine("是否要玉帝繼續(xù)把大象關(guān)進(jìn)冰箱里?");  
  40. stringanswer=Console.ReadLine();  
  41. if(answer=="n")  
  42. break;  
  43. }  
  44. }  
  45. }  
  46.  
  47. classEmperor  
  48. {  
  49. publicvoidProcessRequest(Contextcontext)  
  50. {  
  51. Elephantelephant=context.Elephant;  
  52. Refrigeratorrefrigerator=context.Refrigerator;  
  53.  
  54. //***步,打開冰箱門  
  55. refrigerator.IsOpen=true;  
  56. Console.WriteLine(string.Format("玉帝打開了{(lán)0}的冰箱門。",
    refrigerator.Name));  
  57.  
  58. //第二步,把大象放進(jìn)去  
  59. refrigerator.Content=elephant;  
  60. Console.WriteLine(string.Format("玉帝把大象{0}放到冰箱{1}里了。",
    elephant.Name,refrigerator.Name));  
  61.  
  62. //第三步,關(guān)上冰箱門  
  63. refrigerator.IsOpen=false;  
  64. Console.WriteLine(string.Format("玉帝關(guān)上了{(lán)0}的冰箱門。",
    refrigerator.Name));  
  65. }  
  66. }  
  67.  
  68. classElephant  
  69. {  
  70. publicstringName{get;set;}  
  71. publicintWeight{get;set;}  
  72. }  
  73.  
  74. classRefrigerator  
  75. {  
  76. publicstringName{get;set;}  
  77. publicboolIsOpen{get;set;}  
  78.  
  79. privateobjectm_Content;  
  80. publicobjectContent  
  81. {  
  82. get{returnthis.m_Content;}  
  83. set  
  84. {  
  85. if(!this.IsOpen)  
  86. thrownewInvalidOperationException("冰箱門未打開,無法放進(jìn)東西。");  
  87. if(this.m_Content!=null)  
  88. thrownewInvalidOperationException("冰箱內(nèi)有東西,無法放進(jìn)新的東西。");  
  89.  
  90. this.m_Content=value;  
  91. }  
  92. }  
  93. }  
  94.  
  95. classContext  
  96. {  
  97. publicElephantElephant{get;set;}  
  98. publicRefrigeratorRefrigerator{get;set;}  
  99. }  

【編輯推薦】

  1. ASP.NET的DataList和Repeater控件
  2. 淺析ASP.NET的IIS映射
  3. 概述ASP.NET狀態(tài)類型
  4. 淺談ASP.NET和Web服務(wù)器
  5. ASP.NET的EnableViewState屬性
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2009-07-24 10:41:00

asp.net mvc

2009-07-23 13:19:51

2009-07-23 13:09:23

2009-04-04 21:18:17

IIS6.0缺陷

2009-07-24 13:41:03

IIS ASP.NET

2009-07-28 10:59:13

ASP.NET IIS

2009-07-24 11:15:36

IIS ISAPI eASP.NET

2009-07-28 17:49:30

ASP.NET定期回收

2010-05-17 17:44:56

IIS6.0

2009-07-24 14:03:02

IIS ASP.NET

2009-08-04 09:32:27

部署Silverlig

2009-07-28 11:34:02

ASP.NET架設(shè)

2010-05-17 16:23:22

IIS 6.0

2009-07-31 09:41:39

ASP.NET MVCIIS版本變化

2009-07-20 17:16:46

IIS中使用ASP.N

2009-07-24 10:57:41

ASP.NET ISAIIS6

2011-04-08 09:34:10

windows serIIS 7.0

2010-05-13 17:57:44

IIS服務(wù)器

2009-07-30 14:10:40

ASP.NET版本

2016-01-06 16:54:57

HTTP網(wǎng)絡(luò)協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號