Rodrigo Santiago
2006-03-30 16:28:03 UTC
Pessoal,
na verdade eu não sei se isso é uma dúvida de progrmação ou de arquitetura
mas o meu problema é garantir que todas as rotinas sejam cadastradas com
confiabilidade.
Recebo via web service as informações de pedido e neste pedido vem
informações da ordem, do produto, do cliente.
Na minha aplicação tenho (c# + ASP.net) tenho uma classe para cada um dos
grupos.
Na rotina de recebimento dessas informações eu instancio cada uma das
classes até passar por todas e eu ter o meu pedido totalmente cadastrado no
banco.
fica parecido com o exemplo abaixo:
public void recebe()
{
//validação e inserção do order
order od = new order();
od.valida();
od.insert();
//validação e inserção do produto
produto pd = new produto();
pd.valida();
pd.insert();
//validação e inserção do cliente
cliente cl = new cliente();
cl.valida();
cl.insert();
...
}
Bom, até aí tudo bem mas o meu problema é que em alguns pedidos e a causa eu
não sei bem ao certo mas acho q é time out no SQL Server, o sistema cadastra
o pedido mas não cadastra o cliente por exemplo.
Dentro das metodos valida e insert tenho vários outros métodos q garantem a
consistencia dos dados.
A minha dúvida é a seguinte: eu terei que passar uma transação por toda a
minha aplicação, ou seja, alterar todas as rotinas para receber como
parâmetro uma transação e trabalhar sempre com a mesma conexão?
mas aí está outro problemas pq faço conexão em outros bancos e em várias
tabelas.
agradeço antecipadamente por qualquer ajuda,
Rodrigo
na verdade eu não sei se isso é uma dúvida de progrmação ou de arquitetura
mas o meu problema é garantir que todas as rotinas sejam cadastradas com
confiabilidade.
Recebo via web service as informações de pedido e neste pedido vem
informações da ordem, do produto, do cliente.
Na minha aplicação tenho (c# + ASP.net) tenho uma classe para cada um dos
grupos.
Na rotina de recebimento dessas informações eu instancio cada uma das
classes até passar por todas e eu ter o meu pedido totalmente cadastrado no
banco.
fica parecido com o exemplo abaixo:
public void recebe()
{
//validação e inserção do order
order od = new order();
od.valida();
od.insert();
//validação e inserção do produto
produto pd = new produto();
pd.valida();
pd.insert();
//validação e inserção do cliente
cliente cl = new cliente();
cl.valida();
cl.insert();
...
}
Bom, até aí tudo bem mas o meu problema é que em alguns pedidos e a causa eu
não sei bem ao certo mas acho q é time out no SQL Server, o sistema cadastra
o pedido mas não cadastra o cliente por exemplo.
Dentro das metodos valida e insert tenho vários outros métodos q garantem a
consistencia dos dados.
A minha dúvida é a seguinte: eu terei que passar uma transação por toda a
minha aplicação, ou seja, alterar todas as rotinas para receber como
parâmetro uma transação e trabalhar sempre com a mesma conexão?
mas aí está outro problemas pq faço conexão em outros bancos e em várias
tabelas.
agradeço antecipadamente por qualquer ajuda,
Rodrigo