Usuário com melhor resposta
captura de exceção usando o Jquery.

Pergunta
-
Olaa,
Sou iniciante em Asp.Net C#, estive pesquisando como fazer uma requisição Ajax, para realizar a chamada a métodos que devem me retornar valores, no qual necessito usar. Consegui realizar a requisição perfeitamente, no qual retorno todas as informações que necessito, segue abaixo o código para melhor visualização:
1) Código da Requisição Ajax.
function requisicaoAjax(parametros, ret) { $.ajax({ type: "POST", url: 'frmCliente/retornaNomeCliente',
data: parametros,
contentType: "application/json; charset=utf-8", dataType: "json", success: retorno, error: function (messageExcecao, txtStatus, errThrown) { var error = parseJSON(mensagemExcecao.responseText); $("#<%= labelErro.ClientID %>").text(error.Message); } }); }
2) Código No Frm no qual o código anterior realiza as chamadas.
[WebMethod] public static string retornaNomeCliente(string idCliente) { string nomeCliente = ""; try{ nomeCliente = Cliente.RetornaNomeCliente(idCliente); } return nomeCliente ; } catch (Exception) { throw; } }
Tudo funciona PERFEITAMENTE, mas me deparo com um problema, pois preciso capturar o conteúdo da exceção e atribuir ao label de erros, isso é feito através da captura da exceção pelo Jquery que atribui a respectiva exceção ao Label,segue abaixo algumas dúvidas:
1) Lançar uma exceção dessa forma e o Jquery capturar como está sendo realizado é considerado uma má pratica ???
2) Inicialmente eu tinha a intenção de não lançar essa exceção para ser capturada pelo Jquery, mas preciso setar o valor da mesma no label de erros, não posso fazer isso diretamente pois o método é estático, existe outra forma de realizar a mesma requisição mas o método não ser estático ??
3) Porque obrigatoriamente o método deve ser estático ??
Desde já, Agradeço.
Respostas
-
Olá!
Vamos às respostas:
1) Não é uma má prática, muito pelo contrário!
2 e 3) O método é estático pelo mesmo motivo que lançar uma exceção no item 1 é uma boa prática: porque um serviço deve, por definição, ser stateless! A boa prática diz que serviços não podem manter estado, por isso a necessidade de ele ser estático.
Espero ter ajudado!
HJ- Marcado como Resposta _dev quarta-feira, 16 de março de 2011 03:20
Todas as Respostas
-
Olá!
Vamos às respostas:
1) Não é uma má prática, muito pelo contrário!
2 e 3) O método é estático pelo mesmo motivo que lançar uma exceção no item 1 é uma boa prática: porque um serviço deve, por definição, ser stateless! A boa prática diz que serviços não podem manter estado, por isso a necessidade de ele ser estático.
Espero ter ajudado!
HJ- Marcado como Resposta _dev quarta-feira, 16 de março de 2011 03:20
-