Olá!
Verificando o envio da NFe percebi que toda vez que é enviada uma NFe o sistema necessita instanciar o serviço de autorização perdendo valiosos segundos que para uma aplicação de frente de caixa são importantes.
Então proponho a alteração abaixo, que instanciaria apenas uma vez este serviço e as próximas requisições utilizaria o serviço já instanciado.
Criando a propriedade INfeServicoAutorizacao _ServicoAutorizacao na classe ServicosNFe
e o método CriarServicoAutorizacao alterado para:
....
{
if (this._ServicoAutorizacao != null)
{
return this._ServicoAutorizacao;
}
else
{
INfeServicoAutorizacao servicoWS;
var url = Enderecador.ObterUrlServico(servico, tipoRecepcaoEvento, _cFgServico);
if (servico != ServicoNFe.NFeAutorizacao)
throw new Exception(
$"O serviço {servico} não pode ser criado no método {MethodBase.GetCurrentMethod().Name}!");
if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNFeAutorizacao == VersaoServico.ve310)
{
servicoWS = new NfeAutorizacao3(url, _certificado, _cFgServico.TimeOut);
}
else
{
servicoWS = new NfeAutorizacao(url, _certificado, _cFgServico.TimeOut);
}
this._ServicoAutorizacao = servicoWS;
return this._ServicoAutorizacao;
}
}
.....
Caso o sistema possua outro método de fazer isto me avise por favor.
Márcio Müller
Olá!
Verificando o envio da NFe percebi que toda vez que é enviada uma NFe o sistema necessita instanciar o serviço de autorização perdendo valiosos segundos que para uma aplicação de frente de caixa são importantes.
Então proponho a alteração abaixo, que instanciaria apenas uma vez este serviço e as próximas requisições utilizaria o serviço já instanciado.
Criando a propriedade INfeServicoAutorizacao _ServicoAutorizacao na classe ServicosNFe
e o método CriarServicoAutorizacao alterado para:
....
{
}
.....
Caso o sistema possua outro método de fazer isto me avise por favor.
Márcio Müller