Friends, Technology, Web2.0 - What I am reading

    [Home] [Recent] [Site Map]

   

Friday, July 25, 2008

7/25/2008 7:13:21 AM IIS5、IIS6、IIS7的ASP.net 请求处理过程比较 >> joycode

ASP.NET是一个非常强大的构建Web应用的平台,它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用。
绝大多数的人只熟悉高层的框架如: WebForms 和 WebServices --这些都在ASP.NET层次结构在最高层。

这篇文章的资料收集整理自各种微软公开的文档,通过比较 IIS5、IIS6、IIS7 这三代 IIS 对请求的处理过程, 让我们熟悉 ASP.NET的底层机制 并对请求(request)是怎么从Web服务器传送到ASP.NET运行时有所了解。通过对底层机制的了解,可以让我们对 ASP.net 有更深的理解。

IIS 5 的 ASP.net 请求处理过程

对图的解释:

IIS 5.x 一个显著的特征就是 Web Server 和真正的 ASP.NET Application 的分离。作为 Web Server 的IIS运行在一个名为 InetInfo.exe 的进程上,InetInfo.exe 是一个Native Executive,并不是一个托管的程序,而我们真正的 ASP.NET Application 则是运行在一个叫做 aspnet_wp 的 Worker Process 上面,在该进程初始化的时候会加载CLR,所以这是一个托管的环境。

ISAPI:  指能够处理各种后缀名的应用程序。 ISAPI 是下面单词的简写 :Internet Server Application Programe Interface,互联网服务器应用程序接口。

IIS 5 模式的特点:

1、首先,同一台主机上在同一时间只能运行一个 aspnet_wp 进程,每个基于虚拟目录的 ASP.NET Application 对应一个 Application Domain ,也就是说每个 Application 都运行在同一个 Worker Process 中,Application之间的隔离是基于 Application Domain 的,而不是基于Process的。

2、其次,ASP.NET  ISAPI 不但负责创建 aspnet_wp Worker Process,而且负责监控该进程,如果检测到 aspnet_wp 的 Performance 降低到某个设定的下限,ASP.NET  ISAPI 会负责结束掉该进程。当 aspnet_wp 结束掉之后,后续的 Request 会导致ASP.NET ISAPI 重新创建新的 aspnet_wp Worker Process。

3、最后,由于 IIS 和 Application 运行在他们各自的进程中,他们之间的通信必须采用特定的通信机制。本质上 IIS 所在的 InetInfo 进程和 Worker Process 之间的通信是同一台机器不同进程的通信(local interprocess communications),处于Performance的考虑,他们之间采用基于Named pipe的通信机制。ASP.NET ISAPI和Worker Process之间的通信通过他们之间的一组Pipe实现。同样处于Performance的原因,ASP.NET ISAPI 通过异步的方式将Request 传到Worker Process 并获得 Response,但是 Worker Process 则是通过同步的方式向 ASP.NET ISAPI 获得一些基于 Server 的变量。

 

IIS6 的 ASP.net 请求处理过程

对图的解释:

IIS 5.x 是通过 InetInfo.exe 监听 Request 并把Request分发到Work Process。换句话说,在IIS 5.x中对Request的监听和分发是在User Mode中进行,在IIS 6中,这种工作被移植到kernel Mode中进行,所有的这一切都是通过一个新的组件:http.sys 来负责。

注:为了避免用户应用程序访问或者修改关键的操作系统数据,windows提供了两种处理器访问模式:用户模式(User Mode)和内核模式(Kernel Mode)。一般地,用户程序运行在User mode下,而操作系统代码运行在Kernel Mode下。Kernel Mode的代码允许访问所有系统内存和所有CPU指令。

在User Mode下,http.sys接收到一个基于 aspx 的http request,然后它会根据IIS中的 Metabase 查看该基于该 Request 的 Application 属于哪个Application Pool, 如果该Application Pool不存在,则创建之。否则直接将 request 发到对应Application Pool 的 Queue中。

每个 Application Pool 对应着一个Worker Process:w3wp.exe,毫无疑问他是运行在User Mode下的。在IIS Metabase 中维护着 Application Pool 和worker process的Mapping。WAS(Web Administrative service)根据这样一个mapping,将存在于某个Application Pool Queue的request 传递到对应的worker process(如果没有,就创建这样一个进程)。在 worker process 初始化的时候,加载ASP.NET ISAPI,ASP.NET ISAPI 进而加载CLR。最后的流程就和IIS 5.x一样了:通过AppManagerAppDomainFactory 的 Create方法为 Application 创建一个Application Domain;通过 ISAPIRuntime 的 ProcessRequest处理Request,进而将流程进入到ASP.NET Http Runtime Pipeline。

 

IIS 7  的 ASP.net 请求处理过程

 

IIS7 站点启动并处理请求的步骤如下图:

步骤 1 到 6 ,是处理应用启动,启动好后,以后就不需要再走这个步骤了。

上图的8个步骤分别如下:

1、当客户端浏览器开始HTTP 请求一个WEB 服务器的资源时,HTTP.sys 拦截到这个请求。
2、HTTP.sys contacts WAS to obtain information from the configuration store.

3、WAS 向配置存储中心请求配置信息。applicationHost.config。
4、WWW 服务接受到配置信息,配置信息指类似应用程序池配置信息,站点配置信息等等。
5、WWW 服务使用配置信息去配置 HTTP.sys 处理策略。
6、WAS starts a worker process for the application pool to which the request was made.

7、The worker process processes the request and returns a response to HTTP.sys.

8、客户端接受到处理结果信息。

W3WP.exe 进程中又是如果处理得呢?? IIS 7 的应用程序池的托管管道模式分两种: 经典和集成。 这两种模式下处理策略各不相通。

本文作者:郭红俊 http://blog.joycode.com/ghj

 

IIS 6 以及 IIS7 经典模式的托管管道的架构

       在IIS7之前,ASP.NET 是以 IIS ISAPI extension 的方式外加到 IIS,其实包括 ASP 以及 PHP,也都以相同的方式配置(PHP 在 IIS 采用了两种配置方式,除了 IIS ISAPI extension 的方式,也包括了 CGI 的方式,系统管理者能选择 PHP 程序的执行方式),因此客户端对 IIS 的 HTTP 请求会先经由 IIS 处理,然后 IIS 根据要求的内容类型,如果是 HTML 静态网页就由 IIS 自行处理,如果不是,就根据要求的内容类型,分派给各自的 IIS ISAPI extension;如果要求的内容类型是 ASP.NET,就分派给负责处理 ASP.NET 的 IIS ISAPI extension,也就是 aspnet_isapi.dll。下图是这个架构的示意图。

IIS  7 应用程序池的 托管管道模式  经典  模式也是这样的工作原理。 这种模式是兼容IIS 6 的方式, 以减少升级的成本。

IIS6 的执行架构图,以及 IIS7  应用程序池配置成经典模式的执行架构图

 

IIS  7 应用程序池的 托管管道模式  集成模式

       而 IIS 7 完全整合 .NET 之后,架构的处理顺序有了很大的不同(如下图),最主要的原因就是 ASP.NET 从 IIS 插件(ISAPI extension)的角色,进入了 IIS 核心,而且也能以 ASP.NET 模块负责处理 IIS 7 的诸多类型要求。这些 ASP.NET 模块不只能处理 ASP.NET 网页程序,也能处理其他如 ASP 程序、PHP 程序或静态 HTML 网页,也因为 ASP.NET 的诸多功能已经成为 IIS 7 的一部份,因此 ASP 程序、PHP 程序或静态 HTML 网页等类型的要求,也能使用像是Forms认证(Forms Authentication)或输出缓存(Output Cache)等 ASP.NET 2.0 的功能(但须修改 IIS 7 的设定值)。也因为 IIS 7 允许自行以 ASP.NET API 开发并加入模块,因此 ASP.NET 网页开发人员将更容易扩充 IIS 7 和网站应用程序的功能,甚至能自行以 .NET 编写管理 IIS 7 的程序(例如以程控 IIS 7 以建置网站或虚拟目录)。

IIS 7 的执行架构图(集成托管信道模式下的架构)

 

小结

IIS5 到 IIS6 的改进,主要是 HTTP.sys 的改进。

IIS6 到 IIS7 的改进,主要是 ISAPI 的改进。

 

参考资料:

ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI
http://www.cnblogs.com/artech/archive/2007/09/09/887528.html

ASP.NET Internals – IIS and the Process Model
http://dotnetslackers.com/articles/iis/ASPNETInternalsIISAndTheProcessModel.aspx

模组化的IIS 7 与.NET 能力整合
http://www.microsoft.com/taiwan/technet/columns/profwin/33-iis7-componentization-integration.mspx

Introduction to IIS 7.0 Architecture
http://learn.iis.net/page.aspx/101/introduction-to-iis7-architecture/

7/25/2008 11:07:09 AM 弱智错误一具…… >> joycode

今天遇到一个SharePoint网站,在服务器上可以访问,在服务器外访问不能(写到这里估计大部分人都能猜到是什么问题了)。于是弱智的我查看了所有IIS、Web应用程序、管理中心、SSP的相关设置,都没有找到问题所在。于是惊动了kaneboy同学,在其指导下,在IIS里新建了一个站点,扔了个hello world页面进去,依旧是里面能访问,外面访问不能。于是kaneboy同学沉思了一下,说“你防火墙关了么?”于是我就点点点了……我什么时候把服务器的防火墙打开的……

于是这篇日志就当作blog复出吧……上半年被毕业事宜折磨了半年……我过一段时间重新开始写自定义字段类型的开发,最近又有了一点心得……

7/25/2008 3:21:00 AM 东拉西扯:麦田的苦恼 >> 对牛乱弹琴 | Playin_ with IT

麦田的苦恼在于,他知道Facebook是一种高效率的用户互动结构,但同时他又舍不得MySpace、Qzone以及51上那些花哨的个人主页,某些个人主页拥有很高的人气和流量。网站到底该把中心放在哪儿呢?所以他提出了“双中心”的问题。

如果你想做的是泡与被泡、明星与粉丝这种模式,那么当然应该有一个让明星和被泡者感觉很爽的个人主页,他们完全控制这个主页的色彩、背景、甚至整体风格,充分满足“秀”的需要。MySpace.cn和51在这方面其实做得并不好,他们把太多的流量导入BBS,让BBS成为秀场,以至于个人主页的功能被弱化了。

如果你想做社交工具、协同工具、社会化商务、乃至社交平台,那么你就应该更关注信息流,提高信息流动的效率,提供控制信息的手段。Facebook不一定是终极模式,但Facebook提供了目前最好的架构参照。

第一种方式,满足秀的需要,秀者甚至不需要添加任何好友,他(她)自身可以形成一个小型中心,自然不会缺少捧场者。几乎每一个我们能叫得上名字的乐队,都在MySpace上有一个主页,就是满足他们秀给粉丝看的需要。

但在第二种方式下,一个没有好友的人,等于不存在。所以乐队在Facebook上就很少,尽管Facebook提供了Page功能,让任何机构和组织,都可以建立自己的专页。粉丝们也为我们温总建立了专页,但那个专页其实跟温总本人无关。而且Facebook的专页,只是一种品牌工具,并不是一个适合表现个性的工具。

写到这儿,我就明白了,麦田的苦恼其实在于,他希望在泡与被泡中实现他的社会化商务梦想。这,是个挑战。

7/25/2008 3:04:57 AM I love my pedometer >> Matt

I’ve written about my Omron pedometer once before, but I wanted to mention it again because I like it so much. Recent research suggests that using a pedometer can lead to more walking and better health. I’ve been carrying a pedometer for a little over a year now, and I’ve done almost four million steps since [...]

7/25/2008 12:08:01 PM A Notice From The Bureau of Public Anomaly Screenings >> Google Blogoscoped

Date: August 7, 2032 From: The Bureau of Public Anomaly Screenings Subject: A notice Dear citizen, As you may know, under the Public Screening Act of 2030, all citizens are undergoing routine checks for anomalies. We do so through the use of public sources only, aggregating and mining your digital traces. According to our findings, which are accurate in 99.5% of all cases -- thus legally qualifying as proof beyond reasonable doubt -- we have come to the following conclusions: - Your 56 Amazon book reviews and ratings: The choice of books reviewed, as well as the reviews given, lead our system to believe you have an above average interest in anti-governmental subjects. The associated review timestamps sh ...

7/25/2008 2:35:36 PM How Google Looks for the Colorblind >> Google Blogoscoped

According to the Colorblind Web Page Filter, above is what Google.com looks like for users with protanopia (red/ green color blindness). Perhaps Google should run this as their logo one day to raise awareness of color blindness. Out of interest, does that logo look normal to anyone here/ is there anyone who"s colorblind here? The Colorblind Filter site is a bit slow at the moment but if you created a website and you"re not color blind, you can check how well your intended color scheme fares. The site also has more information on how to select safer colors. [Via Paul Buchheit

7/25/2008 3:05:25 PM A Safer Gmail With Https >> Google Blogoscoped

Google added a new feature to Gmail to always use a secure (https) connection. Switch to the settings/ general tab and scroll down to "Browser connection" to see if you got it already (if not, it may still be rolled out for you). While safer, Google in their blog announcement of this also notes it may slow down your Gmail a bit. [Thanks Mrrix32!]

7/25/2008 8:37:50 PM Friday Recap >> Bruce Clay, Inc. Blog

Susan"s been out of the office since Wednesday as she gets her geek on at nerd prom. Let"s all take a moment to mock her. No, a longer moment. Okay. Speaking of Susan, this week Copyblogger wrote a post about how to be interesting. I"ve already printed it out for...

7/25/2008 1:07:53 PM 土豆网推出轻量级视频编辑工具—Tudou Buzz! >> 分享网络2.0

Snap1

土豆网联合速尼软件公司在今天正式发布上线了一款名为Tudou Buzz(又名:Roxio Buzz)轻量级的视频编辑工具!

Buzz 是由国内领先的视频分享平台土豆网和数字媒体业的先锋企业速尼软件共同研发的一款简单易分享的视频编辑软件,该软件在今天正式发布! Buzz 提供了一键化的编辑功能,突破传统视频编辑软件的复杂和繁琐的编辑模式,让视频的编辑工作更简单,还可以根据具体视频采用不同的编码率来满足上传的需要。通过 Buzz 的项目化管理,用户可以随时修改以前编辑过的项目,灵活的设计,满足绝大多数用户对于个人视频编辑和发布的所有需要。另外,值得关注的是,Buzz  本身还内置了土豆网的相册编辑模块,用户可轻松创建一个含有音乐背景的电子相册并快速上传分享至土豆网。

share01

做视频分享网站绝对是目前最烧钱的行当,尽管各大视频分享网站都开始尝试着面向广告主提出了各种形式的广告投放策略,但广告的收益仍然远远不够支付视频网站高额的带宽成本投入,与此同时,广告公司和广告主对于视频网站的认可度不同,也导致了在视频分享网站上投放广告到底能够产生多大的媒体影响产生了种种质疑。因此,单纯依赖广告收益对于有着高瞻远见的视频分享网站而言并不可靠,实现盈利模式的多样化才是重中之重!而我认为,作为平台的视频分享网站只有在打通娱乐媒体的上下游环节、整合数字消费产业链后才能真正实现所谓的多样化。酷6的奥运赛事点播、土豆与离线视频编辑工具,优酷的百家视频官网整合战略等等这些都是对于商业模式的具体探索。而在众多的视频分享网站中,我个人又比较看好优酷网,尤其是他们近期在商业模式上所做的线下线上一系列活动。


Copyright © 2008 本站作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可 ...

7/25/2008 7:15:14 AM 中国游戏外包市场3年超印度 >> Feed

 [转载自腾讯科技 2008年7月14日]
 
 记者 张耀庆 上海
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
“我最大的成功,或者说是最知名的成功是分众。但是,我最大的教训也是从我最大的成功中所吸取的。”在汉理资本董事总经理钱学锋自己的心目中,分众传媒——这个中国投资界耳熟能详的经典案例——的意义与外界所认为的完全不同。
对于钱学锋来说,分众传媒带给他的是一次教训,而这次教训又促使他改变了汉理资本的商业模式。用他自己的话来说,“这在商业世界里面是不多见的”。那么,这是怎样一个转折点呢?
 
我最大的教训是从我最大的成功中吸取的
 
上海侨报:业界称“北有华兴,南有汉理”。您对这个问题怎么看?
 
钱学峰:通常,华兴、汉能、易凯还有汉理这个四家讲得比较多一点。我和他们的模式不太一样。第一,我们更具备做投资的特点。我们较早地关注像新能源、新消费这一类的,所以,慢慢在这个领域内已经有好几个成功案例,积累了相当多的行业的经验。而其他几家百分之七、八十在互联网领域内,我百分之七、八十不在互联网领域内。
 
第二个更大的不同,我基本上百分之七、八十的项目做第一轮的融资。什么叫第一轮?企业家、创业家融资四处碰壁,于是找到汉理,这一类的企业多如牛毛。但是,你在大沙漠里走的时候,有一句英语谚语叫做“所有发光的并不一定是黄金”。99%是碎玻璃,但是也发光。我们就是要以自己的眼光,把这1%的黄金挖出来。这个意思就是,我在帮他做第一轮融资的时候,我的特点是带有投资功能的服务。我的服务费,相当一部分是要转成股权的。
 
上海侨报:这样,客户会不会考虑专业度的问题?
 
钱学锋:这实际上是一个度。又服务,又投资,看起来有利益冲突。但是,我的投资只占1%,不会超过5%。所以对企业家来讲,这种利益的冲突是在一个可控范围内,而且是事先披露的。
 
上海侨报:汉理资本从一开始就是这样一个模式么?
 
钱学锋:那时候还没有,有这个想法是因为分众。所以我说,我最大的教训是从我最大的成功中所吸取的。我最大的成功,或者说是最知名的成功是分众。那时候,我们是一手拉着鼎晖,一手拉着分众,最后让他们走到一起。我们的服务费拿的是现金,没有股票。这一轮融资鼎辉投了600万美金,最后是将近30倍的回报。所以,我觉得还是蛮失落的。从最大的成功中吸取最大的教训,在商业世界里面是不多见的,所以我们也不断地转变我们的商业模式。
 
上海侨报:分众传媒当时为什么会找到您?
 
钱学锋:因为我以前认识江南春 ,我在软银中国时跟他在同一层楼。另一个缘故是我们是邻居。第三个原因是我在软银中国的老同事的介绍。江南春开始融第二轮时,要融600万美元,占20%。那是2003年11月份,介绍后,我们就签了。过了一个月,我们就把鼎辉带进去了,投了1200多万美元,占20%,等于把分众的估值翻了一倍。
 
上海侨报:您当时是怎么和江南春沟通去要1200万?
 
钱学锋:我们很清楚基金 是用什么标杆来衡量公司的。基金是用以往的历史业绩来评估,那我们就用未来的业绩。向他们分析未来的盈利有多大,关键是你要把盈利预测的非常清晰,非常专业,让别人相信你能做得到。未来,我准备和《上海经济》副总编刘晨合作写一本书,披露很多这类鲜为人知的故事。书名叫做《创业英雄是怎样炼成的》。我们在里面会讲到跟江南春的故事,朱骏 的故事,马云 的故事。
 
上海侨报:最近,海外IPO受阻,国内创业板迟迟未上市,VC们准备过冬,这无形之中会增加行业的隐形成本,另外对品牌也会有些伤害。您怎么看这个事情?
钱学锋:对我来讲,是好事。如果这碗饭很好吃,大家都来吃,竞争就会很激烈。汉理的特征是能够把看起来非常艰难的项目做出来。一旦创业板推出,许多基金都蜂拥而至,估值都会炒得很高。相反,我觉得眼下是投资的最好时机。多挖掘一些属于朝阳行业,有前途的团队的公司,会受益终身。对于我们这个行业,冬天来了,也是“去伪存真”的季节。
 
上海侨报:您是怎么会和丁丁地图合作的?
 
钱学锋:我们和丁丁地图的合作是通过它的第一轮投资人推荐的。我们没有马上接受这个项目,有点犹豫,因为丁丁地图是个很有特色,但不是主流的网站。2007年,WEB2.0是主流。但是,我有一次在《头脑风暴》上看到徐龙江,我看他的谈吐、思维,感觉他是个可造之材。然后,我就把许文江约过来谈谈,之后就签约。签了以后,我们遇到一个小小的困难,就是如何把丁丁地图和WEB2.0挂上钩。我们一直在挖掘如何把丁丁地图和它结合起来。我们在与丁丁地图的沟通里面,提出一些建议,这些建议被采纳后,形成了新的产品,叫做“我的地盘”,就属于WEB2.0了。
 
上海侨报:您当初为何会看中PPLIVE?那时点对点的流媒体也很多。
钱学锋:没错,那时点对点是很多。我记得很清楚,05年的年底,PPLIVE的创始人姚欣到我办公室来,然后就在我的黑板上大谈PPLIVE。等他讲完以后,我就问他“你叫Bill。从来没出过国,你为什么用英文名字,而且叫Bill?”他笑笑:“希望有朝一日能够像比尔-盖茨那样成功。”这令我印象深刻。
 
接下来,我就讲:“你的商业计划要推倒重来,公司的定位值得商榷。”公司当时定位成一家技术型公司,这在美国也许可以,但在中国行不通。VC不会相信你的技术是全球No.1,更何况你都没有出过国。我说公司定位更应是一个新媒体。你做技术的就是B2B,做新媒体的是个B2C的模式。所以我们把公司的定位从一个简单、纯粹的互联网的技术型公司改成一个新媒体公司。PPLIVE初创时,销售几乎为零,我们给他融到的风险投资估值超过一个亿的人民币,谁都不敢相信。
 
上海侨报:您最近在新消费领域看好哪个行业?
 
钱学锋:我们觉得,游戏外包领域在中国未来5年之内,可能成为全世界最大的游戏外包市场。一方面,国内有大量的比较廉价的游戏软件工程师;另一方面,国内的游戏市场成长非常快,需求非常大。所以中国的游戏外包很有可能超过通用软件外包,成为中国软件外包里成长最快的一支。大家讲,通用软件外包要赶超印度,我说,游戏外包三年内就能超过印度。在这个领域内,我们挖掘了两家公司,维塔士(Virtuos)和皿流(ML)。维塔士主要是以美工代制作,针对欧美的客户。维塔士一个软件工程师如果一个月收费3万美金,同样的欧美大游戏公司则要9万美金。国内质量不比它差,时间还比它短,所以很有国际竞争力。
 


^==Back Home

<==7/24/2008

==> 7/26/2008

Month Archives:

Top Tags:
Google Internet Technology Company & Product Profiles Search feature Business and Technology column Web2.0 analysis 服务介绍 comment application letter 业界信息 news China2.0 Startups 產業策進 deal 未來趨勢 Search Headlines 創投 业界动态 創業案例 Social Network widget Google/SEO news_in


@2007 All rights Reserved