加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

iis – Web应用程序如何启动?入口点在哪里(如果有的话)?

发布时间:2020-12-14 18:55:50 所属栏目:资源 来源:网络整理
导读:我正在使用IIS来开发一些Web应用程序.我曾经相信每个应用程序都应该有一个入口点.但似乎一个Web应用程序没有一个. 我已经阅读了很多关于如何在IIS下构建ASP.NET应用程序的书籍和文章,但是它们并没有解决我想知道的最明显和最基本的事情. 任何人都可以告诉我
我正在使用IIS来开发一些Web应用程序.我曾经相信每个应用程序都应该有一个入口点.但似乎一个Web应用程序没有一个.

我已经阅读了很多关于如何在IIS下构建ASP.NET应用程序的书籍和文章,但是它们并没有解决我想知道的最明显和最基本的事情.

任何人都可以告诉我如何启动Web应用程序?传统的桌面应用程序和Web应用程序在其工作范例方面有什么区别,例如启动和终止逻辑.

非常感谢.

更新 – 1 – 23:14 2011/1/4

我目前的理解是:

当一些请求到达时,请求中包含的URL将由IIS提取.我想,IIS必须维护某种内部表,它将URL映射到磁盘上的相应物理目录.以下列URL为例:

http://myhost/webapp/page1.aspx

在上述内部表的帮助下,IIS会将page1.aspx文件放在磁盘上.然后检查该文件并找到代码隐藏代码文件.然后,将构建正确的页面类实例,并在预定义的顺序中调用在代码隐藏文件中定义的方法.一系列调用方法的输出将是发送给客户端的响应.

更新 – 2 – 23:32 2011/1/4

URL只不过是用作上述内部表的索引的标识符.使用此索引,IIS(或任何类型的Web服务器技术)可以找到资源的物理位置.然后有一些提示(如文件扩展名称* .aspx),Web服务器知道应该使用什么处理程序(如asp.net ISAPI处理程序)来处理该资源.该选择的处理程序将知道如何解析和执行资源文件.

所以这也解释了为什么Web服务器应该是可扩展的.

解决方法

它取决于您正在使用哪种语言和框架,但是广泛地说,有许多入口点将被绑定到HTTP请求(例如通过URL).当服务器接收到与这些绑定之一匹配的请求时,将执行绑定代码.

还可能存在根据请求的其他条件执行的各种过滤器链和拦截器.服务器启动时,可能还会出现一些设置代码.最终,仍然有一个入口点 – 服务器的main()函数 – 但是从Web应用程序的角度来看,它是请求绑定的重要性.

针对问题编辑进行编辑

我从来没有使用IIS,但我会假设没有“查找表”,而是一些查找规则.我将通过在Apache服务器上调用.jsp页面来与您进行交谈,这应该是基本相同的过程.

> webapp被写入并放置在文件系统中 – 例如C:/ WWW / mywebapp
> Web服务器被给予一个配置规则,告诉它URL / webapp /应映射到C:/ www / mywebapp
> Web服务器也被配置为将.jsp文件识别为JSP servlet
> Web服务器接收到/webapp/page1.jsp的请求,将其分派到工作线程
> Web服务器使用其映射规则来定位C:/www/mywebapp/page1.jsp
> Web服务器使用方法serveRequest(请求,响应)将JSP文件中的代码包装在一个类中,并将其编译(如果尚未完成)
> Web服务器调用serveRequest函数,它现在是用户代码的入口点
>当用户代码完成时,Web服务器将响应发送给客户端,并且工作线程终止

这是最基本的系统 – 基于资源的servlet(即.jsp或.aspx文件).当使用像MVC框架这样的技术时,绑定规则变得复杂得多,但基本概念是相同的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读