千家信息网

ASP.NET的IIS5与IIS6.0有什么区别

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章给大家分享的是有关ASP.NET的IIS5与IIS6.0有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。自从有了html与http,就有了浏览器与Web服务
千家信息网最后更新 2025年01月16日ASP.NET的IIS5与IIS6.0有什么区别

这篇文章给大家分享的是有关ASP.NET的IIS5与IIS6.0有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

自从有了html与http,就有了浏览器与Web服务器,并有了Web应用,最初的交互模式是这样的:

该模式很好地运行了很多年。然而,随着计算机应用的发展,人们越来越不满足于只有静态内容的页面,而由某种机制动态产生html等代码的需求越来越迫切,于是,很多技术就应运而生,ASP.NET就是这样一种技术。从本质上讲,ASP.NET就是一种服务器端动态产生html、css、javascript等浏览器认识的代码的技术。ASP.NET的交互模式如下:

由该图可知,ASP.NET必须解决两大问题,一是如何与Web服务器(一般就是指IIS)进行交互,二是如何根据不同请求产生不同的html等代码。

***个问题,根据IIS版本(5,6.0,7.0)的不同,ASP.NET具有不同的进程模式与不同的交互模式,该问题不是本篇要讲述的。一般来说,大家不必关心该问题,而且要了解该问题,又必须清楚IIS各个版本的模型,而各个版本又各有各的不同,因此,我基本不准备讲述这个问题,大家有兴趣的话,可以自行搜索相关资料。

我们来讨论第二个问题,这里首先要说明的是,因为IIS7.0进程模式的变化比较大,我也没去了解IIS7.0的模型,因此,以下讲述及以后讲述将只针对IIS5与IIS6.0.我们有理由认为,针对IIS5与IIS6.0的讲述一般同样适用于IIS7.0.

先且按下该问题不表,我们来看一段请求玉帝把大象放到冰箱里的代码(为什么不是上帝?因为我中华不归上帝管),请大家先跟着我的思路来,别急,别急。

  1. usingSystem;

  2. namespaceConsoleApplication3

  3. {

  4. classProgram

  5. {

  6. staticvoidMain(string[]args)

  7. {

  8. Emperoremperor=newEmperor();

  9. while(true)

  10. {

  11. Console.WriteLine("首先给玉帝准备好大象和冰箱。");

  12. Console.WriteLine("输入大象的名字:");

  13. stringelephantName=Console.ReadLine();

  14. Console.WriteLine("输入大象的体重:");

  15. intintelephantWeight=int.Parse(Console.ReadLine());

  16. Console.WriteLine("输入冰箱的名字:");

  17. stringrefrigeratorName=Console.ReadLine();

  18. Elephantelephant=newElephant()

  19. {

  20. Name=elephantName,

  21. Weight=elephantWeight

  22. };

  23. Refrigeratorrefrigerator=newRefrigerator()

  24. {

  25. Name=refrigeratorName

  26. };

  27. Contextcontext=newContext()

  28. {

  29. Elephant=elephant,

  30. Refrigerator=refrigerator

  31. };

  32. emperor.ProcessRequest(context);

  33. Console.WriteLine("是否要玉帝继续把大象关进冰箱里?");

  34. stringanswer=Console.ReadLine();

  35. if(answer=="n")

  36. break;

  37. }

  38. }

  39. }

  40. classEmperor

  41. {

  42. publicvoidProcessRequest(Contextcontext)

  43. {

  44. Elephantelephant=context.Elephant;

  45. Refrigeratorrefrigerator=context.Refrigerator;

  46. //***步,打开冰箱门

  47. refrigerator.IsOpen=true;

  48. Console.WriteLine(string.Format("玉帝打开了{0}的冰箱门。",
    refrigerator.Name));

  49. //第二步,把大象放进去

  50. refrigerator.Content=elephant;

  51. Console.WriteLine(string.Format("玉帝把大象{0}放到冰箱{1}里了。",
    elephant.Name,refrigerator.Name));

  52. //第三步,关上冰箱门

  53. refrigerator.IsOpen=false;

  54. Console.WriteLine(string.Format("玉帝关上了{0}的冰箱门。",
    refrigerator.Name));

  55. }

  56. }

  57. classElephant

  58. {

  59. publicstringName{get;set;}

  60. publicintWeight{get;set;}

  61. }

  62. classRefrigerator

  63. {

  64. publicstringName{get;set;}

  65. publicboolIsOpen{get;set;}

  66. privateobjectm_Content;

  67. publicobjectContent

  68. {

  69. get{returnthis.m_Content;}

  70. set

  71. {

  72. if(!this.IsOpen)

  73. thrownewInvalidOperationException("冰箱门未打开,无法放进东西。");

  74. if(this.m_Content!=null)

  75. thrownewInvalidOperationException("冰箱内有东西,无法放进新的东西。");

  76. this.m_Content=value;

  77. }

  78. }

  79. }

  80. classContext

  81. {

  82. publicElephantElephant{get;set;}

  83. publicRefrigeratorRefrigerator{get;set;}

  84. }

  85. }

感谢各位的阅读!关于"ASP.NET的IIS5与IIS6.0有什么区别"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0