ASP.NET入口点?

时间:2010-11-24 08:08:16

标签: asp.net

刚刚创建了一个空白的“ASP.NET Web应用程序”。哪里是切入点?

我看到“Default.aspx”似乎是调用的默认模板。 “Site.Master”,我猜这是一个布局文件。 “Global.asax”似乎为事件处理提供了一些方法存根。然后“Web.config”似乎有一些特定于站点的设置,如数据库连接字符串,以及一些身份验证的东西。

但是我没有在哪里看到任何“路由”或任何表明默认情况下应该调用“Default.aspx”的东西,或者应该使用“Global.asax”来处理事件。这个东西指定在哪里?它是否被纳入ASP的核心?我不能通过一个C#方法过滤所有请求,然后委托我怎么样?并返回某种Http响应?

5 个答案:

答案 0 :(得分:13)

  

我想我想知道新请求进来时遇到的第一行代码。

HttpApplication类包含应用程序的第一行代码。它的构造函数非常适合您的应用程序。 From the docs

  

在初始化所有核心应用程序对象之后,通过创建HttpApplication类的实例来启动应用程序。

有两种规范方法可以编写第一行代码,这些代码会被新请求命中。两者都涉及创建Global.asax文件并处理其事件。

  

要处理应用程序事件或方法,可以在应用程序的根目录中创建名为Global.asax的文件。

您需要处理Application_Start和/或Application_BeginRequest

  • Application_Start用于在第一次向应用程序发出请求时遇到的代码。每次我们重新启动应用程序时,下一个请求都将在此处输入。这是每个应用程序启动。
  • Application_BeginRequest用于针对应用程序的每个请求命中的代码。这是每个请求。

当然,这一切都随ASP.NET Core而改变。

答案 1 :(得分:7)

没有切入点的概念。它的工作方式是用户向URL发送HTTP请求,并且该url向用户发送响应。在项目的属性中,您可以配置在 F5 时在Visual Studio中启动的URL,因为默认情况下它会启动您当前正在编辑的文件。

Web服务器也有默认文档的概念,即如果您没有指定任何页面,它将按照配置顺序加载默认文档:

alt text

答案 2 :(得分:3)

该条目是一个IIS ISAPI扩展,用于处理Asp.net请求。如果你想要路由,你可以使用Asp.net mvc,或使用HttpModule拦截和路由请求。

在此处查看有关Asp.net的更多信息。 https://web.archive.org/web/20100620062357/https://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp

答案 3 :(得分:2)

默认情况下,ASP.NET仅使用物理文件路径来确定要显示的页面。 Default.aspx是默认值,因为它是项目的启动文件,或者因为它被映射为IIS中根文件夹的默认文档。

如果您想要自定义路由,可以选择使用添加到框架的路由组件作为ASP.NET MVC的一部分。有关如何使用此here

的指南

答案 4 :(得分:1)

默认情况下调用的文件在IIS上指定,通常是default.aspx。