omdc 0 Denunciar post Postado Março 22, 2006 Boas pessoal! Estou a desenvolver um site mas estou a ter problemas com uma cena... Tenho uma página ASP.NET que, como é normal, tem uma página de código .cs associada. Deste dessa página de código tenho algo do genero: public partial class comuns_sala : System.Web.UI.Page{ static public ReqEquipamento objReqEquipamento = new ReqEquipamento(); ..... Ou seja estou a utilizar um objecto static do tipo objReqEquipamento. O pior é que como o objecto é static se várias pessoas acederem a esta página o objecto é o mesmo e todas as pessoas ficam a trabalhar no mesmo objecto. Se coloco apenas public partial class comuns_sala : System.Web.UI.Page{ public ReqEquipamento objReqEquipamento = new ReqEquipamento(); ..... o objecto do tipo public sempre que corro um evento associado a essa página o objReqEquipamento é criado de novo nao podendo por isso trabalhos os dados desse mesmo objecto.... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif http://forum.imasters.com.br/public/style_emoticons/default/upset.gif http://forum.imasters.com.br/public/style_emoticons/default/upset.gif http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Como faço para resolver este problema, trabalhar com objectos numa página de codigo .cs sem que os dados dos um objecto existentes se eliminem????? Uma dica por favor...... Obrigado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Juliano.net 2 Denunciar post Postado Março 22, 2006 Não sei se entendi o que você quer, mas se você declarar um objeto do tipo que você deseja fora dos métodos, daí no Page_load você instanciar a classe dele, em todos os métodos você utilizará a mesma instância, mas os valores entre os postbacks não são mantidos. Ao menos que você armazene seu objeto em uma Session. Compartilhar este post Link para o post Compartilhar em outros sites
omdc 0 Denunciar post Postado Março 22, 2006 Não sei se entendi o que você quer, mas se você declarar um objeto do tipo que você deseja fora dos métodos, daí no Page_load você instanciar a classe dele, em todos os métodos você utilizará a mesma instância, mas os valores entre os postbacks não são mantidos. Ao menos que você armazene seu objeto em uma Session.Boas... Obrigado pela dica, era mesmo essa a questao. Desculpe a questao ser tao confusa.... Entretanto procurei na net e verifiquei que existe a possibilidade de criar uma variável em cache. É uma solução viável? ou a cache também é partilhada por todos os utilizadores? Entao o melhor é mesmo utilizar uma variável de sessão certo? Mt obrigado! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites
omdc 0 Denunciar post Postado Março 22, 2006 :D :D :D Bem, utilizei sessions para guardar o objecto e funcionou as mil maravilhas..... Mt obrigado pela dica. Aproveito e coloco aqui como se trabalha um pouco com variáveis de sessao: Tem um objecto declarado como variavel da class do tipo public ReqEquipamento objReqEquipamento = new ReqEquipamento(); Para a colocar dentro de uma variável de sessão basta fazer: /* Verifica-se se a variável esta vazia... se sim adiciona uma variavel de sessão com o nome 'objReqEquipamento' e associo-lhe o objecto ja definido anteriormente Se a variavel ja existe entao podemos obter os dados guardados na variavel de sessao Ter em atenção que como o objecto reqEquipamento não é conhecido é necessário efectuar um cast ( (ReqEquipamento) Session["objReqEquipamento"]; ). */ if (Session["objReqEquipamento"] == null) Session.Add("objReqEquipamento", objReqEquipamento); else objReqEquipamento = (ReqEquipamento) Session["objReqEquipamento"]; Espero ter sido bem claro na minha explicação.... :rolleyes: Alguma duvida coloquem ou enviem para o mail .... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Obrigado pela dica inicial mais uma vez Compartilhar este post Link para o post Compartilhar em outros sites