星期日, 10月 12, 2008

簡單防灌水計數器

今天在blueshop的討論裡..發現不錯又簡單防灌水計數器..改寫一下..大家參考ㄅ..

public class Counter
{
public static string GetCountValue()
{
//判斷application是否有值
if (HttpContext.Current.Application["counter"] == null)
{
HttpContext.Current.Application["counter"] = 1;
return HttpContext.Current.Application["counter"].ToString();
}
//判斷使用者的session是否建立
if (!HttpContext.Current.Session.IsNewSession)
return HttpContext.Current.Application["counter"].ToString();
//建立session為flag
HttpContext.Current.Session["flag"] = Guid.NewGuid().ToString();
HttpContext.Current.Application["counter"] =
Convert.ToInt32(HttpContext.Current.Application["counter"]) + 1;
return HttpContext.Current.Application["counter"].ToString();
}
}

使用方法..

//在你想秀的地方秀出來..
Response.Write(Counter.GetCountValue());

簡單ㄅ..PigPigPigPigPigPigPigPigPigPig..

ps:缺點是..server重開機..或是當掉application重新開始後..數字就重來啦..

參考:

沒有留言: