【发布时间】:2011-09-23 22:38:46
【问题描述】:
我正在使用 IIS 开发一些 Web 应用程序。我曾经相信每个应用程序都应该有一个入口点。但似乎 Web 应用程序没有。
我已经阅读了很多关于如何在 IIS 下构建 ASP.NET 应用程序的书籍和文章,但它们并没有解决我想知道的最明显和最基本的问题。
那么谁能告诉我 Web 应用程序是如何启动的?传统桌面应用程序和 Web 应用程序在工作范式(例如启动和终止逻辑)方面有什么区别。
非常感谢。
更新 - 1 - 23:14 2011/1/4
我目前的理解是:
当某个请求到达时,请求中包含的 URL 将被 IIS 提取。我猜 IIS 必须维护某种内部表,它将 URL 映射到磁盘上相应的物理目录。我们以如下网址为例:
http://myhost/webapp/page1.aspx
在上述内部表的帮助下,IIS 将在磁盘上定位 page1.aspx 文件。然后检查这个文件并找到代码隐藏代码文件。然后将构造适当的页面类实例,并以预定义的顺序调用在代码隐藏文件中定义的方法。这一系列方法调用的输出将是发送给客户端的响应。
更新 - 2 - 23:32 2011/1/4
URL 只不过是作为上述内部表的索引的标识符。有了这个索引,IIS(或任何类型的 Web 服务器技术)就可以找到资源的物理位置。然后通过一些提示(例如像 *.aspx 这样的文件扩展名),Web 服务器知道应该使用哪个处理程序(例如 asp.net ISAPI 处理程序)来处理该资源。选择的处理程序将知道如何解析和执行资源文件。
所以这也解释了为什么 Web 服务器应该是可扩展的。
【问题讨论】:
-
不,URL 是资源定位器。它是一个比查找索引更抽象的概念,但与标识符 (URI) 的概念不同
-
我想开始赏金,但尚未显示开始赏金按钮。
-
每个开发人员都会在他自己的专业领域(JSP、ASP、PHP)中解释这一点。在 PHP 中,JSP 很明显,而在 ASP 中它有点含糊,我猜。试试
inetmgr到在 xp 0r 2003 中配置查找。工作很简单 - 网络服务器只提供静态文件(html、js、css)。当遇到 .php 或 .asp 之类的内容时,它会将其转发到转换/处理 php 的应用程序服务器等/asp 文件(包括数据库查询)到 html 并返回到 Web 服务器,该服务器又将其提供给浏览器。如果您想要 asp.net 应用程序入口点的具体详细信息,请搜索asp.net page lifecycle。
标签: iis