none
como saber cuantos usuarios estan conectados a mi paginas asp.net Publicada en el server.

    Question

  • Señores.

    Mi pregunta surge devido a que cuando realizo cambios a mi sitio y debo publicar de nuevo, al publicar todo usuario que se encuentre

    en este sito sera sacado de este y redirijido al login.

    esto resulta muy incomo para el usuario, y yo no se como verificar que usuarios o cuantos se encuentran actualmente en dicho sito antes de publicar la pagina.

    ¿Alguna sugerencia?.


    Jhohan Alexander Vasquez Sierra
    Thursday, April 07, 2011 7:49 PM

Answers

  • claro pero ese codigo no lo declaras asi como esta, sino que debes tomar las partes de los eventos
    Session_Start

    Session_End

    etc

    y llevarlo a tu propio Global.asax, nos e copia y pega como esta, debes llevarlo por partes, alli solo plantea el ejemplo, para tener una idea, pero deberias levarlo de a partes a tu .asax

    por ahi si podrias copiar directamente las propeidades

    TotalNumberOfUsers y CurrentNumberOfUsers con sus declaraciones de variables static

    private static int totalNumberOfUsers = 0;  

    private static int currentNumberOfUsers = 0;

    pero copia cada parte a tu propio asax

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Leandro Gracias de Antemano por la Atencion Prestada.

    Lo resolvi de otra manera.

    Aca les dejo el link para el que le sirva:

    http://www.codeproject.com/KB/aspnet/Online-Active-Users.aspx

    Mil Gracias a todos.

     


    Jhohan Alexander Vasquez Sierra
    • Marked as answer by jhohan25 Friday, April 08, 2011 6:17 PM
    Friday, April 08, 2011 6:16 PM

All replies

  • Hola,

     

    Si utilizas el membership de ASp.net es mas sencillo

    Ejemplo con membership

     

    O bien a traves del global.asax

    Ejemplo con global

     

    O con httpmodules

    Ejemplo modules

     

    Saludos,



    Jason Ulloa
    Mi Blog San José, Costa Rica
    Thursday, April 07, 2011 7:53 PM
  • hola

     

    Howto Create a Hit Counter Using the Global.asax File in ASP.NET 1.x

    en el ejemplo veras como crear un contador de usuario que ingresan al sitio

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, April 07, 2011 7:54 PM
  • Mil Gracias de Antemano Probare y les comento.
    Jhohan Alexander Vasquez Sierra
    Thursday, April 07, 2011 8:01 PM
  • hola, tmb lo q puedes ahcer es en tu sql ejecutar sp_who te dira q usuarios trabajan contra tu base de datos

    Julio Avellaneda
    Blog !!

    Thursday, April 07, 2011 8:05 PM
  • hola Julio

    un comentario

    en un ambiente web no creo que sea recomendable dejar una conexion a la db establecida de forma indefinida

    lo idea es abrir la conexion operar y luego cerrarla, teneidnen cuanta esot el sp_who no creo que de el resultado esperado

     

    salduos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, April 07, 2011 8:15 PM
  • si Leandro tienes mucha razon, y mas pq generalmente uno trabaja con escenarios desconectados, lo comente pq cuando trabaje con vb6 lo hacia asi, ya alli usaba el reader (si mall no estoy) el cual no trabaja en la misma manera que el escenario desconectado...

    Julio Avellaneda
    Blog !!

    Thursday, April 07, 2011 8:19 PM
  • hola

     

    Howto Create a Hit Counter Using the Global.asax File in ASP.NET 1.x

    en el ejemplo veras como crear un contador de usuario que ingresan al sitio

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Leandro muy buenos Dias.

    Tengo un problemita con el codigo en el global.

    Al parecer este codigo que me das es la solucion, pero en Mi Global no me aparece ni me deja declarar este primer pedaso de codigo:

    namespace HitCounters 
    {
     /// <summary>
     /// Summary description for Global.
     /// </summary>
     public class Global : System.Web.HttpApplication
     {
    
      private static int totalNumberOfUsers = 0;
      private static int currentNumberOfUsers = 0;
    
      /// <summary>
      /// Required designer variable. 
    
    
    Mi estructura del global.asax es diferente:<pre lang="x-c#"><%@ Application Language="C#" %>
    
    <script runat="server">
      
     
      private static int totalNumberOfUsers = 0;
      private static int currentNumberOfUsers = 0;
    
      void Application_Start(object sender, EventArgs e) 
      {
        // Código que se ejecuta al iniciarse la aplicación
        
      }
      
      void Application_End(object sender, EventArgs e) 
      {
        // Código que se ejecuta cuando se cierra la aplicación
    
      }
      public static int TotalNumberOfUsers
      {
        get
        {
          return totalNumberOfUsers;
        }
      }
    
      public static int CurrentNumberOfUsers
      {
        get
        {
          return currentNumberOfUsers;
        }
      } 
    
        
      void Application_Error(object sender, EventArgs e) 
      { 
        // Código que se ejecuta al producirse un error no controlado
    
      }
    
      void Session_Start(object sender, EventArgs e) 
      {
        Application.Lock();
        totalNumberOfUsers += 1;
        currentNumberOfUsers += 1;
        Application.UnLock();
      }
    
      void Session_End(object sender, EventArgs e) 
      {
    
        // Código que se ejecuta cuando finaliza una sesión. 
        // Nota: El evento Session_End se desencadena sólo con el modo sessionstate
        // se establece como InProc en el archivo Web.config. Si el modo de sesión se establece como StateServer 
        // o SQLServer, el evento no se genera.
        Application.Lock();
        currentNumberOfUsers -= 1;    
        Application.UnLock();       
      }
     
        
    </script>
    

    No me deja declara el namespace HitCounters para llamarlo desde el webform.

    Que estoy haciendo mal?


    Jhohan Alexander Vasquez Sierra
    Friday, April 08, 2011 2:02 PM
  • claro pero ese codigo no lo declaras asi como esta, sino que debes tomar las partes de los eventos
    Session_Start

    Session_End

    etc

    y llevarlo a tu propio Global.asax, nos e copia y pega como esta, debes llevarlo por partes, alli solo plantea el ejemplo, para tener una idea, pero deberias levarlo de a partes a tu .asax

    por ahi si podrias copiar directamente las propeidades

    TotalNumberOfUsers y CurrentNumberOfUsers con sus declaraciones de variables static

    private static int totalNumberOfUsers = 0;  

    private static int currentNumberOfUsers = 0;

    pero copia cada parte a tu propio asax

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Friday, April 08, 2011 2:52 PM
  • claro pero ese codigo no lo declaras asi como esta, sino que debes tomar las partes de los eventos
    Session_Start

    Session_End

    etc

    y llevarlo a tu propio Global.asax, nos e copia y pega como esta, debes llevarlo por partes, alli solo plantea el ejemplo, para tener una idea, pero deberias levarlo de a partes a tu .asax

    por ahi si podrias copiar directamente las propeidades

    TotalNumberOfUsers y CurrentNumberOfUsers con sus declaraciones de variables static

    private static int totalNumberOfUsers = 0;  

    private static int currentNumberOfUsers = 0;

    pero copia cada parte a tu propio asax

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Leandro Gracias de Antemano por la Atencion Prestada.

    Lo resolvi de otra manera.

    Aca les dejo el link para el que le sirva:

    http://www.codeproject.com/KB/aspnet/Online-Active-Users.aspx

    Mil Gracias a todos.

     


    Jhohan Alexander Vasquez Sierra
    • Marked as answer by jhohan25 Friday, April 08, 2011 6:17 PM
    Friday, April 08, 2011 6:16 PM
  • hola

    si segun veo es la misma idea solo que encapsulado en una bonita clase

    revisa por dentro la implementacion de este OnlineActiveUsers estoy mas que seguro que por dentro usa una variable static para mantener los valores a nivel global

    como lo hace el hit counter solo que no lo ponia en una clase, la tecnica es la misma, solo que conceptualmente mejor armado

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Friday, April 08, 2011 6:29 PM
  • hola

    si segun veo es la misma idea solo que encapsulado en una bonita clase

    revisa por dentro la implementacion de este OnlineActiveUsers estoy mas que seguro que por dentro usa una variable static para mantener los valores a nivel global

    como lo hace el hit counter solo que no lo ponia en una clase, la tecnica es la misma, solo que conceptualmente mejor armado

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Si tienes toda la Razon Leandro. Mil Gracias.
    Jhohan Alexander Vasquez Sierra
    Friday, April 08, 2011 6:32 PM