Foros del Web » Programación para mayores de 30 ;) » .NET »

Como librear fichero creado por otro porceso ?? C#

Estas en el tema de Como librear fichero creado por otro porceso ?? C# en el foro de .NET en Foros del Web. Buenas foreros !!! A ver, tengo dos clases. Cada clase tiene un método el cual inicializa un System.Threading.Timer. La primera clase crea un fichero *.txt ...
  #1 (permalink)  
Antiguo 31/05/2012, 07:39
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 6 meses
Puntos: 7
Como librear fichero creado por otro porceso ?? C#

Buenas foreros !!!

A ver, tengo dos clases.

Cada clase tiene un método el cual inicializa un System.Threading.Timer.

La primera clase crea un fichero *.txt y luego lo cierro:
Código:
StreamWriter objFileLogger = new StreamWriter(pathFichero);
objFileLogger.Write(......);

objFileLogger.Flush();
objFileLogger.Close();
objFileLogger.Dispose();
La segunda clase, que también tiene el Timer inicializado, esta recorriendo constantemente el directorio y está intentando eliminarlos:
Código:
try
{
      File.Delete(rutaCompleta")
}
catch(Exception){ }
Sin embargo, constantemente estoy recibiendo el siguiente error:
" {System.IO.IOException: El proceso no puede obtener acceso al archivo 'fichero.txt' porque está siendo utilizado en otro proceso.
en System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
en System.IO.File.Delete(String path)
en HSoft.Looker.Windows.Enterprise.InformationSender. StartSender_Callback(Object iA) en C:\Users\USUARIO\Documents\Visual Studio 2010\Projects\HSoft\HSoft.Looker\HSoft.Looker.Wind ows\Enterprise\InformationSender.cs:línea 69} "

Por favor, ¿Alguien podría ayudarme?
__________________
Charlie.
  #2 (permalink)  
Antiguo 31/05/2012, 08:03
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 6 meses
Puntos: 7
Respuesta: Como librear fichero creado por otro porceso ?? C#

Solucionado.

El problema estaba en que estos ficheros los enviaba por mail y luego los intentaba borrar.

La cuestión es que para cargar ficheros en el Attachment del objeto de mail, en vez de hacerlo poniendo la ruta directamente, tengo que hacerlo unsando un MemoryStream, así no quedan bloqueados.

Saludos.
__________________
Charlie.
  #3 (permalink)  
Antiguo 22/10/2012, 08:27
Avatar de JOvelleiro  
Fecha de Ingreso: febrero-2012
Ubicación: Valladolid
Mensajes: 25
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Como librear fichero creado por otro porceso ?? C#

Hola chcma.

Puedes darme algo más de información sobre la información que encontraste? Tengo casi el mismo problema que describías y creo que tu tienes la clave para solucionarlo ;)

Muchas gracias!!!!
  #4 (permalink)  
Antiguo 22/10/2012, 09:33
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 6 meses
Puntos: 7
Respuesta: Como librear fichero creado por otro porceso ?? C#

Claro, no hay problema.

Yo lo hice así:

Código:
            MailMessage objMessage = new MailMessage(from, to, subject, string.Empty);


            foreach (string file in files)
            {
                try
                {

                    MemoryStream ms = FileManager.GetFileStream(file);
                    
                    objMessage.Attachments.Add(new Attachment(ms, new FileInfo(file).Name));

                    ms.Close();

                } catch (Exception) { }
            }
__________________
Charlie.

Etiquetas: creado, fichero, visual, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:18.