asp.net Global.asax Application_Start
Posted
技术标签:
【中文标题】asp.net Global.asax Application_Start【英文标题】: 【发布时间】:2013-05-04 22:34:25 【问题描述】:我正在使用带有框架 3.5 的 Visual Studio 2010。
我从头开始创建了一个 asp.net 网站,并在项目中添加了一个 Global.asax。
在 global.asax 上,有 Application_Start 事件。我在该事件上放置了一个断点并开始调试网站,我注意到它到达了断点。但是如果我关闭网站并再次开始调试,断点不会被命中。如果我停止 ASP.NET 开发服务器并重新开始调试,则再次命中断点。
所以,阅读这篇文章:
http://www.techrepublic.com/article/working-with-the-aspnet-globalasax-file/5771721
它说:Application_Init 和 Application_Start 事件在应用程序首次启动时触发一次。
所以我猜这意味着应用程序首次使用服务器启动时。我想 IIS 也会发生同样的事情,需要重新启动 IIS 以便再次触发 Application_Start。
如果 global.asax 是这种情况,那么我不能使用它。
问题是我希望每次访问我网站上的特定页面时执行一段代码。
为了实现这一点,我需要将该代码放在我的母版页或网站的特定页面上?
谢谢...
【问题讨论】:
你能说出这段代码的作用吗?您想在每次用户打开浏览器并导航到您的网站时运行它吗? 目前的代码什么也不做。正如我所说,我刚刚开始了这个项目,我只是在测试事件并测试何时被解雇。是的,我希望每次用户打开浏览器时都运行代码。 如果用户从不关闭浏览器(我的浏览器有时会打开几天)怎么办? 你说得对,对不起。我的意思是我希望每次用户访问网站内的页面时都运行代码。 @trek 如果是这种情况,您应该更新您的问题。 【参考方案1】:我相信Application_BeginRequest
可能就是您要找的。p>
【讨论】:
就目前的问题而言,我不确定这是否可行。 OP 现在只要求特定页面上的行为。 ;) @DavinTryon 不确定,对我来说它读作任何页面——但我还是要求澄清这一点。【参考方案2】:我的看法是将所需的代码放在需要行为的特定页面的 Page_Load 事件中。
而且,如果它是所有页面都需要的东西,它可以放在母版页的 Page_Load 事件中,这样每次访问网站上的任何页面时都会触发它。
如果我对这个答案有误,请纠正我。谢谢!
【讨论】:
以上是关于asp.net Global.asax Application_Start的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET中的Webconfig 和 Global.asax区别
asp.net Global.asax Application_Start