Pessoal. Estou com o seguinte problema em minha (primeira) aplicação. Tenho uma combo (CmbEstado) que dispara um evento (CmbEstado_SelectionChanged) que chama um 2 métodos (PopularFiltroMacroRegiao e PopularFiltroMunicipio). Cada um desses métodos chama uma mesma referência de web service mas 2 métodos diferentes. Estes 2 métodos populam outras combos que tenho na tela. O problema que acontece, é que 90% das vezes tudo funciona corretamente, e os dados carregados do web service são adicionados nas outras combos. Os 10% são as vezes que que o web service não me retorna nenhum registro (sem nenhum erro / exceção). Já testei os web services exaustivamente e em 100% dos casos ele funcionou corretamente. Verifiquei o código para analisar se os parâmetros estavam sendo passados corretamente para os web services, e em todos os testes que fiz, todos estavam sendo passados, até mesmo nos web services que não retornavam registros.
Minha pergunta é: Existe algum problema com acesso a 2 web services simultâneamente? Tenhou outros acessos a web services na aplicação e em nenhuma ocorre o mesmo problema.
Minha máquina é um Windows XP SP3. Todos os web services estão hospedadas no IIS nela (.asmx). Visual Studio 2008 e Silverlight 3. Obrigado pela ajuda pessoal!!!
Achei o erro. O problema é que, nos web services que estavamos acessando, a camada DAL estava utilizando Singleton para o objeto de conexão com o banco de dados. E como estavam sendo feitos várias requisições pela mesma sessão, estava gerando conflito nas consultas.
Marcado como RespostaSxMarcosquinta-feira, 17 de setembro de 2009 12:41
Consegui resolver o problema chamando um web service no final do evento "completed" do outro. Agora, existem casos onde realmente são necessários chamar 2 web services simultâneos. São esses casos que não consegui fazer funcionar direito. Quando chamo dois ou mais web services simultâneamente, ou funciona, ou não tráz nenhum registro (ele acessa o web service mas não traz registros) ou tráz os registro e conflita o destino dos dados (ex: 2 web services para popular 2 combosbox, inverte os resultados). Pessoal, estou mandando meus arquivos de configuração pq não sei mais o que fazer para arrumar isso. Varri a internet em busca de soluções mas nada. Estou começando a achar que é apenas na minha máquina que isto ocorre.
Achei o erro. O problema é que, nos web services que estavamos acessando, a camada DAL estava utilizando Singleton para o objeto de conexão com o banco de dados. E como estavam sendo feitos várias requisições pela mesma sessão, estava gerando conflito nas consultas.
Marcado como RespostaSxMarcosquinta-feira, 17 de setembro de 2009 12:41