Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

eriva_br

Erro acessando arquivo gerado pelo WriteXml

Recommended Posts

estou gerando um arquivo de log pelo método WriteXml do objeto DataTable

dtErrosClone.WriteXml(camArqResult);

o problema ocorre em uma possível segunda operação quando a váriavel camArqResult vem com o mesmo caminho completo de arquivo nome de arquivo (diretorio + nome arquivo) , gera o erro:

The process cannot access the file 'C:\upload\Declaracao\teste.txt' because it is being used by another process.

 

uma forma seria claro mudar o nome do arquivo, mas isso não será possível pois o nome do arquivo vem fixo de uma tabela, já tentei mudar isso com a gerência mas não consegui, tenho que encontrar uma maneira de liberar o arquivo depois que ele foi escrito pelo WriteXml

 

da forma que esta o arquivo não fica liberado, para liberar tem que ir no IIS onde está rodando a aplicação e finalizar no gerenciador de tarefas o processo aspnet_wp.exe (totalmente inviavel)

 

tentei liberar chamando o Garbage Collector, useis essas opções:

dtErrosClone.Dispose();				System.Runtime.InteropServices.Marshal.ReleaseThreadCache();				GC.SuppressFinalize(dtErrosClone);			   				dtErrosClone = null;				GC.Collect();
mas até agora nada

 

se alguém souber de algo, alguma dica, algum caminho das predas...

 

valew

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz não é o WriteXml que esta causando o erro, esta ocorrendo devido ao arquivo ir anexo no email, vou abrir o componente de envio de email para verificar, qq. novidade aviso valews

Compartilhar este post


Link para o post
Compartilhar em outros sites

era o componente de e-mail msm que estava gerando o erro, para resolver encerrei as váriaveis de e-mail após o envio

message.Dispose();				message = null;				client = null;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.