这篇文章给大家分享的是有关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.
先且按下该问题不表,我们来看一段请求玉帝把大象放到冰箱里的代码(为什么不是上帝?因为我中华不归上帝管),请大家先跟着我的思路来,别急,别急。
usingSystem; namespaceConsoleApplication3 { classProgram { staticvoidMain(string[]args) { Emperoremperor=newEmperor(); while(true) { Console.WriteLine("首先给玉帝准备好大象和冰箱。"); Console.WriteLine("输入大象的名字:"); stringelephantName=Console.ReadLine(); Console.WriteLine("输入大象的体重:"); intintelephantWeight=int.Parse(Console.ReadLine()); Console.WriteLine("输入冰箱的名字:"); stringrefrigeratorName=Console.ReadLine(); Elephantelephant=newElephant() { Name=elephantName, Weight=elephantWeight }; Refrigeratorrefrigerator=newRefrigerator() { Name=refrigeratorName }; Contextcontext=newContext() { Elephant=elephant, Refrigerator=refrigerator }; emperor.ProcessRequest(context); Console.WriteLine("是否要玉帝继续把大象关进冰箱里?"); stringanswer=Console.ReadLine(); if(answer=="n") break; } } } classEmperor { publicvoidProcessRequest(Contextcontext) { Elephantelephant=context.Elephant; Refrigeratorrefrigerator=context.Refrigerator; //***步,打开冰箱门 refrigerator.IsOpen=true; Console.WriteLine(string.Format("玉帝打开了{0}的冰箱门。",refrigerator.Name)); //第二步,把大象放进去 refrigerator.Content=elephant; Console.WriteLine(string.Format("玉帝把大象{0}放到冰箱{1}里了。",elephant.Name,refrigerator.Name)); //第三步,关上冰箱门 refrigerator.IsOpen=false; Console.WriteLine(string.Format("玉帝关上了{0}的冰箱门。",refrigerator.Name)); } } classElephant { publicstringName{get;set;} publicintWeight{get;set;} } classRefrigerator { publicstringName{get;set;} publicboolIsOpen{get;set;} privateobjectm_Content; publicobjectContent { get{returnthis.m_Content;} set { if(!this.IsOpen) thrownewInvalidOperationException("冰箱门未打开,无法放进东西。"); if(this.m_Content!=null) thrownewInvalidOperationException("冰箱内有东西,无法放进新的东西。"); this.m_Content=value; } } } classContext { publicElephantElephant{get;set;} publicRefrigeratorRefrigerator{get;set;} } }
感谢各位的阅读!关于“ASP.NET的IIS5与IIS6.0有什么区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。