jonsmau Posted July 1, 2012 at 06:57 PM Report Share #466709 Posted July 1, 2012 at 06:57 PM Olá. Estou com a seguinte dúvida: Estou a desenvolver um projeto de ASP.NET (MVC 4 Web Application) com o Visual Studio 2010. Neste projeto criei um webservice, no qual defini um atributo da seguinte forma: "private List<string> lista = new List<string>()". Acedo a este atributo em vários métodos. Tenho um método para adicionar novas 'string' à lista (por exemplo). O problema é que depois de adicionar várias entradas à lista, quando peço a entrada de índice x ou o tamanho da lista. Dá-me erro, como que se a lista estivesse vazia. O problema é do webservice, deve estar a faltar alguma coisa. A meu ver, parece que sempre que acedo ao webservice estou a aceder a uma instancia nova deste, onde a minha lista está sempre vazia! Podem ajudar? Obrigado! Link to comment Share on other sites More sharing options...
Rechousa Posted July 1, 2012 at 07:27 PM Report Share #466717 Posted July 1, 2012 at 07:27 PM Por omissão, os Webservices não têm estado. Uma classe estática deverá resolver o teu problema, mas sempre que o servidor reiniciar... vais novamente perder o estado. Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa Link to comment Share on other sites More sharing options...
jonsmau Posted July 1, 2012 at 07:53 PM Author Report Share #466721 Posted July 1, 2012 at 07:53 PM Para já só queria fazer um teste e ver isto a correr bem, do ponto de vista lógico. Não estou interessado em publicar a aplicação. No caso de um serviço WCF também me ocorre a mesma situação, mas se usar a linha em baixo antes da declaração da classe, a lista já se mantem coerente. Esta linha: [serviceBehavior(InstanceContextMode = InstanceContextMode.Single)] Não ha nada parecido para web services? Obrigado! Não estou a conseguir fazer da classe principal do webservice (que deriva de 'System.Web.Services.WebService') uma classe estática. Link to comment Share on other sites More sharing options...
jonsmau Posted July 1, 2012 at 11:32 PM Author Report Share #466754 Posted July 1, 2012 at 11:32 PM -------------------------------- Já resolvi, coloquei o atributo "lista" como static. private static List<string> lista = new List<string>() Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now