刚刚创建了一个空白的“ASP.NET Web应用程序”。哪里是切入点?
我看到“Default.aspx”似乎是调用的默认模板。 “Site.Master”,我猜这是一个布局文件。 “Global.asax”似乎为事件处理提供了一些方法存根。然后“Web.config”似乎有一些特定于站点的设置,如数据库连接字符串,以及一些身份验证的东西。
但是我没有在哪里看到任何“路由”或任何表明默认情况下应该调用“Default.aspx”的东西,或者应该使用“Global.asax”来处理事件。这个东西指定在哪里?它是否被纳入ASP的核心?我不能通过一个C#方法过滤所有请求,然后委托我怎么样?并返回某种Http响应?
答案 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服务器也有默认文档的概念,即如果您没有指定任何页面,它将按照配置顺序加载默认文档:
答案 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。