2013-10-03 1 views
0

это мой код для подсчета пользователей онлайн это хорошо работает в global.asax и рассчитывать хорошо , но когда я называю его от контроллера возвращает нулевоея не могу доступ к HttpContext.Application Он всегда возвращает нулевую

void Session_Start(object sender, EventArgs e) 
    { 
     Application.Lock(); 
     Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 1; 
     Application.UnLock(); 
    } 

    void Session_End(object sender, EventArgs e) 
    { 
     Application.Lock(); 
     Application["OnlineUsers"] = (int)Application["OnlineUsers"] - 1; 
     Application.UnLock(); 
    } 

    protected void Application_Start() 
    { 
     Application["OnlineUsers"] = 0; 

    } 

в контроллере:

string strUsersOnline = HttpContext.Application["OnlineUsers"] as string; 
     ViewData["OnlineUsers"] = strUsersOnline; 

ответ

0

значение равно нулю, так как из, как ключевое слово, использовать явное преобразование или .ToString()

Refer MSDN

+0

string strNumberOfOnlineUsers = System.Convert.ToString (HttpContext.Application ["OnlineUsers"]); – Maryam