繁体   English   中英

网站在asp.net C#网站中启动时第一次且仅触发一次的事件

[英]Event which fires first and only one time when website starts in an asp.net c# website

我想要一个仅在我的网站首次启动时触发一次的事件...

实际情况是,我正在asp.net中创建一个电子商务网站,并且已经创建了一个用于存储客户订单的购物车表。

因此,我想在网站首次启动时清空该表, 因此下一个用户看不到上一个用户的订单...

我尝试了application_start和session_start事件,但是每次打开任何新页面时都将被触发... 我不想为每个页面都触发该事件。

我是asp.net的初学者..任何帮助将不胜感激..

在此先感谢朋友。

我想您在这里有点困惑...

“因此,我想在网站首次启动时清空该表,因此下一个用户看不到上一个用户的订单。”

Application_Start仅应在首次访问该网站时触发,除非其他用户访问该网站时处于停止状态,否则它将不会为其他用户再次触发。

如果要在内存中创建表数据,那么对于每个用户来说都是新数据,不需要Application_Start。

您可以将用户ID /会话ID存储在购物车表中,然后仅在用户访问您的网站时才为正确的用户检索购物篮,甚至更好地将它们存储在Cookie中,以便他们可以在Cookie过期之前重新访问您的网站,并且仍然拥有大车。

如果Application_Start在每次访问页面时都在触发,则您的IIS设置可能会令人怀疑。

在global.asax文件中使用以下功能...

void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
}

取自MSDN ...

Application_Start和Application_End方法是不代表HttpApplication事件的特殊方法。ASP.NET在应用程序域的生存期内(而不是对于每个HttpApplication实例)调用一次。”

您正在寻找global.asax文件的事件。 也许这篇技术文章可以为您提供有关使用Application_InitApplication_Start事件的指导。

希望我能帮上忙!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM