Ir para conteúdo
Fórum Script Brasil

FernandoGomes

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre FernandoGomes

FernandoGomes's Achievements

0

Reputação

  1. :$ foi mal =) Sem problemas. :) Agora, quanto à sua dúvida, acho que você deveria usar o objeto Application e não o Session, uma vez que este segundo é criado para cada usuário que acessa o site, enquanto que o primeiro serve para todos. No caso, no evento Start do objeto Session você deveria incrementar um valor na variável que estaria no objeto Application. Bom, eu realmente não mexo com ASP.NET, mas acho que esta é a idéia. Abraços, Graymalkin cara foi isso msmo vlw vou (ou pelo menos tentar ) explicar como eu fiz.... Bom primeiro precisamos de um arquivo Global.asax Se você não tem um clica com o direito, vai em ADD NEW ITEM e adciona um GLOBAL APPLICATION CLASS Pronto ! Temos um global.asax Legal, neste arquivo de configuração temos os seguintes metodos que iremos usar, Application_Start, Session_Start, Session_End. no Application_Start, vamos colocar a seguinte linha de codigo: void Application_Start(object sender, EventArgs e) { Application.Add("numberUser", 0); } Bom agora temos uma variavel de aplicação com o nome numberUser e com o valor 0 Ok ?! Certo ! Agora precisamos que a cada nova sessão, ou seja, a cada novo usuario na página esse valor 0 se incrementado a + 1. Faremos isso da seguinte maneira: No Session_Start vamos colocar o seguinte codigo: void Session_Start(object sender, EventArgs e) { int numberUser = (int)Application["numberUser"] + 1; Application["numberUser"] = numberUser; } Pros mais novatos que nem eu devem estar se perguntando, "Qui Diabos é isso :S", calma, eu tambem fiz essa pergunta ( ou sera qui so eu fiz essa pergunta ?! :P ), é simples: Quando uma nova sessão for iniciada ( void Session_Start(object sender, EventArgs e) ) uma variavel do tipo inteiro chamada de numberUser ( int numberUser ) vai ter o valor inteiro da variavel de aplicação chamada de numberUser + 1 ( (int)Application["numberUser"] + 1; ) esse (int) na frente do application converte para um inteiro. Beleza, então até aqui temos o seguinte: Temos uma variavel la em cima dentro do Application_Start chamada de numberUser com o valor 0. E mais em baixo declaramos uma variavel do tipo inteiro com o nome de numberUser e que vai ter o valor de Application["numberUser"] + 1, ou seja, Se a minha variavel de aplicação for igual a 1 quando uma nova sessão for iniciada o valor da variavel int numberUser vai ser 2 certo ? Ainda tá complicado né... Pelo menos eu não entenderia direito ainda ( as vezes ainda me atrapalho hauihau ) Vamos pensa um poquinhu, Eu tenho a variavel de aplicação que é igual a 1. Ai eu to dizendo dentro do metodo Session_Start pra que quando uma nova sessão iniciar, ou seja, um novo usuario entrar, ele pegue aquele valor armazenado lá na minha variavel de aplicação ( que agente está supondo que é 1 ) e some com + 1. Resultado 2. Então o int numberUser = 2. Ficou moleza agora né ? =) Beleza. Agora vamos ver o que nos diz a terceira linha. Application["numberUser"] = numberUser; :huh: Não é tão dificil vai.... pensa um poquinhu ... =) Isso ai, tá ficando facil entender essas coisas né ?! Mas vamos ao que intereça. Lembra da nossa ultima conclusão onde int numberUser era igual a 2. Intão eu to falando para que agora o valor da variavel de aplicação seja o valor da variavel int numberUser ( que no momento é 2 ). Blah mamão com açucar né ? Agora vamos para o mais facil. ( Mais facil que isso ?! É !! :P ) Bom, Temos o valor das Sessões iniciadas e somadas que nos da o valor de usuarios online ok ?! Intão beleza, agora precisamos mostrar isso =) Facil facil !!! Bom o que precisamos ? 1 Label. É é so um simples label ( só lembrando que tem que ser do conjunto Standart de componentes, e não do conjunto html ok ?! ) Bom se já temos um label vamos mostrar o valor que queremos mostrar nele. Para isso é simples: Na página ( default.aspx por exemplo ) temos o metodo Page_Load que executa os codigos no carregamento da pagina, beleza dentro dele vamos por o que tem que aparecer no label ( que no meu caso eu coloquei o nome do label de lblOnLineUsers o .Text que vem depois do nome do label significa que eu estou falando sobre a propriedade texto do label ou seja no que eu quero que o valor do texto do label seja ) o codigo o seguinte : protected void Page_Load(Object sender, System.EventArgs e) { lblOnLineUsers.Text = Application["numberUser"].ToString(); } O que significa ? Facim rsrs, to dizendo que o a propriedade texto ( como já dito o .Text ) do label lblOnLineUsers é igual ao valor da variavel de aplicação numberUser ( Application["numberUser"] ), beleza até ai acho que todo mundo já está entendendo, mas e o ToString(); bom, estamos concatenando o valor da variavel de aplicação numberUser ao valor de um Label certo, então temos que converter o valor da variavel de aplicação para uma string, dai o comnado .ToString() os () é porque ele é um metodo, então precisa de parametros, que vão dentro do parenteses, enfim. Bom desculpa vo corre um poquinhu agora pra termina de explica porque apareceu um problema aqui que eu tenho que resolver agora. Estamos esquecendo que quando o usuario encerra a sessão seja decrementado um numero da variavel de aplicação certo ?! ok vamos usar a seguinte linha de codigo no arquivo global.asax no metodo Session_End: void Session_End(object sender, EventArgs e) { int numberUser = (int)Application["numberUser"] - 1; Application["numberUser"] = numberUser; } Fica assim, acho que não está dificil de entender né ? bom eu tenho que ir desculpa ter corrido um pouco no final ...=/ vou revisar assim que possivel e esclarecer qualquer coisa que eu tenha escrito errado ou explicado mau, pessoas não coloquei esse codigo aqui com a intenção de vim 500 pessoas pegar o codigo e nem se da o trabalho de ver que o postou, coloquei com a intenção de que pessoas como eu tenha a oportunidade de entender detalhadamente como funciona, não sei vocês mas eu precisei de uma informação assim para poder entender e agora por meio deste forum passo a vocês, façam bom proveito. Abraços, FernandoGomes tirolo_power_art@hotmail.com
  2. cara explicação nota 10 vlw vo tenta aqui brugadaum =)
  3. FernandoGomes

    Iniciando .net

    Muito bacana, eu tambem estou comecando agora não tenho nocao nehuma de nada rsrs a historia do console aplication e otima, eu acho que todo mundo já passou pelo consagrado Hello Word ! rsrsr mas enfim, recebi umas recomendacoes de livros e tals, mas lendo não entendo nada, pego alguns exemplos de console aplication e consigo entender melhor, a unica coisa que ajuda nos livros de logica e a pseudocodigo, acho que ajuda pacas também,o livro que eu to lendo e o estruturas de dados e algoritimos do Celso Roberto Moraes editora Berkeley se não me engano muito bacana o livro recomendo =) mas achoq nada melhor do que o site da microsoft para tirar duvidas http://www.asp.net/learn/videos/default.aspx?tabid=63#beginners ://http://www.asp.net/learn/videos/def...d=63#beginners http://quickstarts.asp.net/QuickStartv20/aspnet/Default.aspx http://www.asp.net/learn/dataaccess/default.aspx?tabid=63 estes estao em ingles o primeiro são videos muito bacana, ensina detalhes ate de mais tem uns que e ate meio chato de tão detalhista mas ajuda muito, e segue abaixo outros em pt-br. http://pt.wikipedia.org/wiki/C_sharp http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objeto http://msdnwiki.microsoft.com/pt-br/mtpswi...115(VS.80).aspx http://www.microsoft.com/brasil/msdn/csharp/Default.mspx e claro, o pai dos burro google it ! :P www.google.com.br Abracos, vlw a atencao de todos FernandoGomes MSN: tirolo_power_art@hotmail..com
  4. Bao tarde pessoal, eu to precisando mostar o numero de usuarios on line, coisa simples, então pensei em algo como Session.Add("UsersOnLine", ValorDaSessao); if (Session["UsersOnLine"] != null) lblOnLineUsers.Text = Session["UsersOnLine"].ToString(); ai ele me mostra no label(lblOnLineUsers) o ValordaSessao, beleza so que como eu faco para que a varialvel ValorDaSessao seja o numero de usuarios on line ? Agradeco desde já a atencao de todos abracos, FernandoGomes.
  5. Link não está funcionando, pelo menos aqui.
×
×
  • Criar Novo...