【问题标题】:ASP.NET request lifecycle confusionASP.NET 请求生命周期混乱
【发布时间】:2009-05-29 04:45:32
【问题描述】:

我是 C# 和 .Net 的新手,并且来自 Java 背景。我正在尝试了解 .NET 的 Web 应用程序方式,但运气不佳。

我想构建一个应用程序来处理请求 url 并编写返回图像的响应。 仅在 Web 应用程序领域中使用过 Java servlet,我正在寻找一些很好的资源和/或关于处理应用程序请求端的解释。

如何处理请求?和什么对象?什么是周期?页面如何围绕此运行?

这些是基本的广泛问题,所以如果有人知道彻底涵盖所有这些的资源,请告诉我。到目前为止,我发现的只是一些信息,而不是整体情况。

【问题讨论】:

  • 这个问题是不是太宽泛了?我想链接到 lmgtfy.com。这个查询的前 10 个结果(google.com/search?q=.net+page+lifecycle)怎么可能不够详细?
  • hmm...我知道你的意思 jfar,但我记得当我开始 .NET 时甚至不知道从哪里开始。例如,请注意您的 google 查询包含“页面生命周期”,而 jmioh 的问题包含“请求生命周期”。这是因为,对于不熟悉 .NET 的人来说,页面类本身与 HTTP 请求的关系并不明显。这就是为什么我还包含有关 ASP.NET 如何以不同方式处理 HTTP 调用的信息,但页面如何是默认方式。
  • 没错。我问的原因是因为出于我的需要,我将无法接近页面,并且我发现的所有资源都是关于页面生命周期和服务器控件的。 HttpHandler 是我将使用的。谢谢你们的帮助。

标签: c# asp.net request page-lifecycle


【解决方案1】:

整个页面周期很复杂——但对于提供图像,您可能希望主要查看IHttpHandler 接口——或者(更简单地)创建一个“通用处理程序”(.ashx 文件)。 IHttpHandler 是最简单的“请求/响应”设置,没有 .aspx 页面的负担;您只需从 context.Request 中读取,然后写入 context.Response。

【讨论】:

    【解决方案2】:

    如果只提供图像,请查看 HttpHandlers。

    关于页面生命周期:我喜欢这张图片:
    (来源:eggheadcafe.com

    【讨论】:

      【解决方案3】:

      This overview 将解释 Page 生命周期,Page(一个 ASPX 页面)是 ASP.NET 中的默认 HTTP 处理程序。

      但是还有其他方法可以处理 HTTP 调用。 This resource 将解释 .NET 如何处理 HTTP 调用,以及默认情况下 ASPX 页面如何处理它们。

      干杯

      【讨论】:

      • 从技术上讲,它并不是真正的“默认”处理程序;简单地说,它是您在基于 aspx 的网站中最常见的一种。 “默认”(查看主 web.config)是恰当命名的System.Web.DefaultHttpHandler;貌似这里主要处理静态内容,但我没有看太多细节。
      • 哦。该死。叹。是的,你是对的,我想为 jimioh 澄清请求处理程序和 ASP.NET 中的 Page 对象之间的链接。不过谢谢
      【解决方案4】:

      This 是开始描述页面生命周期的好地方。

      对于您的其他问题,我实际上建议您买一本书并坐下来阅读几个小时。 Programming ASP.NET 2.0 Core Reference 已经证明自己非常有价值。

      【讨论】:

        【解决方案5】:

        站点 asp.net 包含许多帮助您入门的信息。一个好的起点是the learning section

        当然,MSDN 有很多信息。您可能会发现一些有趣的文章和页面: - ASP.NET Page Lifecycle Overview - Creating ASP.NET Web Pages

        阅读 MSDN 上的文字时,请查看左侧的树结构以获取更多内容。

        【讨论】: