2016-07-23 25 views
1

我想查看我的asp.net站点访问数而不使用数据库。 第一个想法是使用类似Application["VisitedUsersCount"]的东西,并在Session_Start事件中增加它。 但是这个变量的范围是Application,当我从Visual Studio发布我的网站时,这个变量再次变成零。在没有数据库的ASP.NET中访问用户数

第二个是使用一个文件来保存这个变量,每当Session_Start开启时,我打开该文件并增加它的值。但是这里的问题是两个用户同时访问该文件时的并发问题。所以我的问题是:

  1. 是否有任何并发​​问题保存此文件中的变量,并访问它每次Session_Start火灾?
  2. 它是否工作,如果我只是加载这个文件Application_Start并将其保存在Application_End?如果我从视觉工作室发布它是Application_End火灾?
+1

Waht你可以做的就是先与文件概念结合吧即你发布Application_Start执行获取文件读取值然后设置Application [“VisitedUsersCount”]为该值并在Application_End中存储当前值应用程序[“VisitedUsersCount”]返回到文件。 – Manish

回答

0

我试过第二个。因此,在Application_Start事件中,我读取该文件并设置Application [“VisitedUsersCount”]变量。然后在Application_End上再次写入。关键是将“属性”窗口中的当前文件“Build Action”设置为“无”,以防止每次发布时更改服务器上的当前文件。