我有以下 C# 代码:
Application["CountTrackViews"] = int.Parse(Application["CountTrackViews"].ToString()) + 1;
这里的问题是这个应用对象没有起始值,我真的不知道应该给哪个起始值,怎么办(这个应用对象要统计view的时间)
希望得到帮助,谢谢!
我有以下 C# 代码:
Application["CountTrackViews"] = int.Parse(Application["CountTrackViews"].ToString()) + 1;
这里的问题是这个应用对象没有起始值,我真的不知道应该给哪个起始值,怎么办(这个应用对象要统计view的时间)
希望得到帮助,谢谢!
如果您可以添加Global.asax
并使用该Application_Start
事件,那么您可以在那里初始化该值。像这样的东西:
protected void Application_Start()
{
Application["CountTrackViews"] = 0;
}
如果做不到这一点,您可以在使用它之前检查该值是否存在。像这样的东西:
var viewCount = 0;
int.TryParse(Application["CountTrackViews"], out viewCount);
Application["CountTrackViews"] = viewCount + 1;
这是未经测试的代码,您可能需要稍微调整一下。但这个想法很简单。从默认值开始,尝试解析当前值,如果解析失败则默认为默认值。将所有这些包装在某种全局(静态)辅助方法中,这样您就不必在多个地方重复这些行。
但是请记住,正如上面评论中所述,该计数器将在应用程序重置时重置。
这是在超过 20 分钟的任何时间段内记录页面浏览量的不好方法。默认情况下,在 IIS 中,应用程序将在 20 分钟不活动后回收。然后您的计数器将丢失并在下次用户加载时重置。
正如大卫建议的那样,将其存储在数据库甚至文本文件中。