Bonjour à tous.
J'ai réalisé un petit automate d'envoi de mail dans le cadre d'un gros
projet (envoi des phases importantes -pannes, fin de processus- à
l'administrateur).
Interface multiple (par java, VBA, batch, scripts, .NET)
Principe :
Un fichier formaté "maison" (destinataire, sujet, corps) -pas XML, texte
simple- est déposé dans un répertoire guetté par mon application.
Celle ci se "réveille" lit le(s) fichier(s), l'analyse et le traite puis
l'archive dans un répertoire dédié.
Or j'ai parfois des problèmes d'accès du genre (en substance : de mémoire)
"Exception : le fichier .... est utilisé par une autre application".
Alors que la seule application est 'la mienne'.
Cet utilitaire est écrit en C#, impossible de localiser quelle est
l'application polluante.
En insistant beaucoup (try/catch "insistant"), le fichier finit par être
digéré, parfois après plusieurs secondes.
J'ai utilisé un espion de fichier (FileMon) : j'ai un problème de partage
lors de l'ouverture. Pas moyen de savoir par "qui" est locké le fichier.
PS : j'ai essayé de désactiver l'antivirus : même problème.
Des pistes ?
Bonjour à tous.
J'ai réalisé un petit automate d'envoi de mail dans le cadre d'un gros
projet (envoi des phases importantes -pannes, fin de processus- à
l'administrateur).
Interface multiple (par java, VBA, batch, scripts, .NET)
Principe :
Un fichier formaté "maison" (destinataire, sujet, corps) -pas XML, texte
simple- est déposé dans un répertoire guetté par mon application.
Celle ci se "réveille" lit le(s) fichier(s), l'analyse et le traite puis
l'archive dans un répertoire dédié.
Or j'ai parfois des problèmes d'accès du genre (en substance : de mémoire)
"Exception : le fichier .... est utilisé par une autre application".
Alors que la seule application est 'la mienne'.
Cet utilitaire est écrit en C#, impossible de localiser quelle est
l'application polluante.
En insistant beaucoup (try/catch "insistant"), le fichier finit par être
digéré, parfois après plusieurs secondes.
J'ai utilisé un espion de fichier (FileMon) : j'ai un problème de partage
lors de l'ouverture. Pas moyen de savoir par "qui" est locké le fichier.
PS : j'ai essayé de désactiver l'antivirus : même problème.
Des pistes ?
Bonjour à tous.
J'ai réalisé un petit automate d'envoi de mail dans le cadre d'un gros
projet (envoi des phases importantes -pannes, fin de processus- à
l'administrateur).
Interface multiple (par java, VBA, batch, scripts, .NET)
Principe :
Un fichier formaté "maison" (destinataire, sujet, corps) -pas XML, texte
simple- est déposé dans un répertoire guetté par mon application.
Celle ci se "réveille" lit le(s) fichier(s), l'analyse et le traite puis
l'archive dans un répertoire dédié.
Or j'ai parfois des problèmes d'accès du genre (en substance : de mémoire)
"Exception : le fichier .... est utilisé par une autre application".
Alors que la seule application est 'la mienne'.
Cet utilitaire est écrit en C#, impossible de localiser quelle est
l'application polluante.
En insistant beaucoup (try/catch "insistant"), le fichier finit par être
digéré, parfois après plusieurs secondes.
J'ai utilisé un espion de fichier (FileMon) : j'ai un problème de partage
lors de l'ouverture. Pas moyen de savoir par "qui" est locké le fichier.
PS : j'ai essayé de désactiver l'antivirus : même problème.
Des pistes ?
"Ignace"Bonjour à tous.
J'ai réalisé un petit automate d'envoi de mail dans le cadre d'un gros
projet (envoi des phases importantes -pannes, fin de processus- à
l'administrateur).
Interface multiple (par java, VBA, batch, scripts, .NET)
Principe :
Un fichier formaté "maison" (destinataire, sujet, corps) -pas XML, texte
simple- est déposé dans un répertoire guetté par mon application.
Celle ci se "réveille" lit le(s) fichier(s), l'analyse et le traite puis
l'archive dans un répertoire dédié.
Or j'ai parfois des problèmes d'accès du genre (en substance : de
mémoire)
"Exception : le fichier .... est utilisé par une autre application".
Alors que la seule application est 'la mienne'.
Cet utilitaire est écrit en C#, impossible de localiser quelle est
l'application polluante.
En insistant beaucoup (try/catch "insistant"), le fichier finit par être
digéré, parfois après plusieurs secondes.
J'ai utilisé un espion de fichier (FileMon) : j'ai un problème de partage
lors de l'ouverture. Pas moyen de savoir par "qui" est locké le fichier.
PS : j'ai essayé de désactiver l'antivirus : même problème.
Des pistes ?
Bonjour,
En .NET les fichiers sont fermés quand l'objet fichier est détruit. Le
Close() ne fonctionne pas tojours (dépend de la classe)
Le mieux est de faire
using (System.IO.FileStream fs = new System.IO.FileStream(fileName, ...))
{
// accèder au fichier
}
// Ici tu es certain que le fichier est fermé car l'objet est
explicitement détruit.
Sinon c'est le garbage collector qui fermera ton fichier et tu ne sais pas
quand il agit, d'où tes quelques secondes d'indisponibilités.
Rémi
--
Rémi THOMAS
MVP Visual C++ .NET
http://www.pixel-technology.com/rthomas
"Ignace"
Bonjour à tous.
J'ai réalisé un petit automate d'envoi de mail dans le cadre d'un gros
projet (envoi des phases importantes -pannes, fin de processus- à
l'administrateur).
Interface multiple (par java, VBA, batch, scripts, .NET)
Principe :
Un fichier formaté "maison" (destinataire, sujet, corps) -pas XML, texte
simple- est déposé dans un répertoire guetté par mon application.
Celle ci se "réveille" lit le(s) fichier(s), l'analyse et le traite puis
l'archive dans un répertoire dédié.
Or j'ai parfois des problèmes d'accès du genre (en substance : de
mémoire)
"Exception : le fichier .... est utilisé par une autre application".
Alors que la seule application est 'la mienne'.
Cet utilitaire est écrit en C#, impossible de localiser quelle est
l'application polluante.
En insistant beaucoup (try/catch "insistant"), le fichier finit par être
digéré, parfois après plusieurs secondes.
J'ai utilisé un espion de fichier (FileMon) : j'ai un problème de partage
lors de l'ouverture. Pas moyen de savoir par "qui" est locké le fichier.
PS : j'ai essayé de désactiver l'antivirus : même problème.
Des pistes ?
Bonjour,
En .NET les fichiers sont fermés quand l'objet fichier est détruit. Le
Close() ne fonctionne pas tojours (dépend de la classe)
Le mieux est de faire
using (System.IO.FileStream fs = new System.IO.FileStream(fileName, ...))
{
// accèder au fichier
}
// Ici tu es certain que le fichier est fermé car l'objet est
explicitement détruit.
Sinon c'est le garbage collector qui fermera ton fichier et tu ne sais pas
quand il agit, d'où tes quelques secondes d'indisponibilités.
Rémi
--
Rémi THOMAS
MVP Visual C++ .NET
http://www.pixel-technology.com/rthomas
"Ignace"Bonjour à tous.
J'ai réalisé un petit automate d'envoi de mail dans le cadre d'un gros
projet (envoi des phases importantes -pannes, fin de processus- à
l'administrateur).
Interface multiple (par java, VBA, batch, scripts, .NET)
Principe :
Un fichier formaté "maison" (destinataire, sujet, corps) -pas XML, texte
simple- est déposé dans un répertoire guetté par mon application.
Celle ci se "réveille" lit le(s) fichier(s), l'analyse et le traite puis
l'archive dans un répertoire dédié.
Or j'ai parfois des problèmes d'accès du genre (en substance : de
mémoire)
"Exception : le fichier .... est utilisé par une autre application".
Alors que la seule application est 'la mienne'.
Cet utilitaire est écrit en C#, impossible de localiser quelle est
l'application polluante.
En insistant beaucoup (try/catch "insistant"), le fichier finit par être
digéré, parfois après plusieurs secondes.
J'ai utilisé un espion de fichier (FileMon) : j'ai un problème de partage
lors de l'ouverture. Pas moyen de savoir par "qui" est locké le fichier.
PS : j'ai essayé de désactiver l'antivirus : même problème.
Des pistes ?
Bonjour,
En .NET les fichiers sont fermés quand l'objet fichier est détruit. Le
Close() ne fonctionne pas tojours (dépend de la classe)
Le mieux est de faire
using (System.IO.FileStream fs = new System.IO.FileStream(fileName, ...))
{
// accèder au fichier
}
// Ici tu es certain que le fichier est fermé car l'objet est
explicitement détruit.
Sinon c'est le garbage collector qui fermera ton fichier et tu ne sais pas
quand il agit, d'où tes quelques secondes d'indisponibilités.
Rémi
--
Rémi THOMAS
MVP Visual C++ .NET
http://www.pixel-technology.com/rthomas
Sinon c'est le garbage collector qui fermera ton fichier et tu ne sais
pas quand il agit, d'où tes quelques secondes d'indisponibilités.
Sinon c'est le garbage collector qui fermera ton fichier et tu ne sais
pas quand il agit, d'où tes quelques secondes d'indisponibilités.
Sinon c'est le garbage collector qui fermera ton fichier et tu ne sais
pas quand il agit, d'où tes quelques secondes d'indisponibilités.
D'où l'imbécilité d'implementer un GC dans un langage orienté objet.
C'est le gros reproche que je fais a Java et je ne comprends pas
pourquoi MS a copié cette "fonctionnalité" dans leur clone du langage
de chez Sun.
D'où l'imbécilité d'implementer un GC dans un langage orienté objet.
C'est le gros reproche que je fais a Java et je ne comprends pas
pourquoi MS a copié cette "fonctionnalité" dans leur clone du langage
de chez Sun.
D'où l'imbécilité d'implementer un GC dans un langage orienté objet.
C'est le gros reproche que je fais a Java et je ne comprends pas
pourquoi MS a copié cette "fonctionnalité" dans leur clone du langage
de chez Sun.
> Par ailleurs, petite mise au point: .Net n'est pas un "clone" du
langage Java car ce n'est pas un langage mais une technologie
multilangage.
> Par ailleurs, petite mise au point: .Net n'est pas un "clone" du
langage Java car ce n'est pas un langage mais une technologie
multilangage.
> Par ailleurs, petite mise au point: .Net n'est pas un "clone" du
langage Java car ce n'est pas un langage mais une technologie
multilangage.
Gasp!
Si on considère l'économie en lignes de code et le nombre de bugs et de
fuites mémoire qu'un GC va éviter, je n'utiliserai pas le mot
"imbécilité".
Le GC de .Net est un outil sophisitiqué et peu intrusif.
Le fait que les objets ne soient pas détruits de manière déterministe
est un inconvénient que l'on peut gérer facilement avec l'interface
IDisposable.
En tous cas, cet inconvénient ne me ferait pas renoncer aux
bénéfices d'un GC bien implémenté, ce qui est le cas dans .Net.
Par ailleurs, petite mise au point: .Net n'est pas un "clone" du langage
Java car ce n'est pas un langage mais une technologie multilangage.
C'est d'ailleurs un de ses nombreux avantages sur Java.
peut dire que J# est un clone du langage Java. De plus, le GC n'est pas
lié à un langage mais contrôlé par le CLR, ce qui est très différent.
Gasp!
Si on considère l'économie en lignes de code et le nombre de bugs et de
fuites mémoire qu'un GC va éviter, je n'utiliserai pas le mot
"imbécilité".
Le GC de .Net est un outil sophisitiqué et peu intrusif.
Le fait que les objets ne soient pas détruits de manière déterministe
est un inconvénient que l'on peut gérer facilement avec l'interface
IDisposable.
En tous cas, cet inconvénient ne me ferait pas renoncer aux
bénéfices d'un GC bien implémenté, ce qui est le cas dans .Net.
Par ailleurs, petite mise au point: .Net n'est pas un "clone" du langage
Java car ce n'est pas un langage mais une technologie multilangage.
C'est d'ailleurs un de ses nombreux avantages sur Java.
peut dire que J# est un clone du langage Java. De plus, le GC n'est pas
lié à un langage mais contrôlé par le CLR, ce qui est très différent.
Gasp!
Si on considère l'économie en lignes de code et le nombre de bugs et de
fuites mémoire qu'un GC va éviter, je n'utiliserai pas le mot
"imbécilité".
Le GC de .Net est un outil sophisitiqué et peu intrusif.
Le fait que les objets ne soient pas détruits de manière déterministe
est un inconvénient que l'on peut gérer facilement avec l'interface
IDisposable.
En tous cas, cet inconvénient ne me ferait pas renoncer aux
bénéfices d'un GC bien implémenté, ce qui est le cas dans .Net.
Par ailleurs, petite mise au point: .Net n'est pas un "clone" du langage
Java car ce n'est pas un langage mais une technologie multilangage.
C'est d'ailleurs un de ses nombreux avantages sur Java.
peut dire que J# est un clone du langage Java. De plus, le GC n'est pas
lié à un langage mais contrôlé par le CLR, ce qui est très différent.
Tu peux certes l'attaquer par divers langages, mais c'est strictement
le même principe. C'est pas un clone, c'est du plagiat :-).
Tu peux certes l'attaquer par divers langages, mais c'est strictement
le même principe. C'est pas un clone, c'est du plagiat :-).
Tu peux certes l'attaquer par divers langages, mais c'est strictement
le même principe. C'est pas un clone, c'est du plagiat :-).
Pas d'accord :-).
D'un point de vue architecture il y a des
différences fondamentales qui expliquent d'ailleurs les différences
de performances.
Si quelqu'un a vu la moindre notion de
machine virtuelle en .Net qu'il me fasse signe rapidement.
En .Net pas de byte codes mais un langage assembleur portable et
lisible, le MSIL. Autre différence de taille.
Pas d'accord :-).
D'un point de vue architecture il y a des
différences fondamentales qui expliquent d'ailleurs les différences
de performances.
Si quelqu'un a vu la moindre notion de
machine virtuelle en .Net qu'il me fasse signe rapidement.
En .Net pas de byte codes mais un langage assembleur portable et
lisible, le MSIL. Autre différence de taille.
Pas d'accord :-).
D'un point de vue architecture il y a des
différences fondamentales qui expliquent d'ailleurs les différences
de performances.
Si quelqu'un a vu la moindre notion de
machine virtuelle en .Net qu'il me fasse signe rapidement.
En .Net pas de byte codes mais un langage assembleur portable et
lisible, le MSIL. Autre différence de taille.
Arnold McDonald (AMcD) wrote:Tu peux certes l'attaquer par divers langages, mais c'est strictement
le même principe. C'est pas un clone, c'est du plagiat :-).
Pas d'accord :-) . D'un point de vue architecture il y a des différences
fondamentales qui expliquent d'ailleurs les différences de performances.
Java est basé sur l'idée d'une Machine Virtuelle qui interprète des byte
codes. Si quelqu'un a vu la moindre notion de machine virtuelle en .Net
qu'il me fasse signe rapidement.
En .Net pas de byte codes mais un langage assembleur portable et lisible,
le MSIL. Autre différence de taille.
Arnold McDonald (AMcD) wrote:
Tu peux certes l'attaquer par divers langages, mais c'est strictement
le même principe. C'est pas un clone, c'est du plagiat :-).
Pas d'accord :-) . D'un point de vue architecture il y a des différences
fondamentales qui expliquent d'ailleurs les différences de performances.
Java est basé sur l'idée d'une Machine Virtuelle qui interprète des byte
codes. Si quelqu'un a vu la moindre notion de machine virtuelle en .Net
qu'il me fasse signe rapidement.
En .Net pas de byte codes mais un langage assembleur portable et lisible,
le MSIL. Autre différence de taille.
Arnold McDonald (AMcD) wrote:Tu peux certes l'attaquer par divers langages, mais c'est strictement
le même principe. C'est pas un clone, c'est du plagiat :-).
Pas d'accord :-) . D'un point de vue architecture il y a des différences
fondamentales qui expliquent d'ailleurs les différences de performances.
Java est basé sur l'idée d'une Machine Virtuelle qui interprète des byte
codes. Si quelqu'un a vu la moindre notion de machine virtuelle en .Net
qu'il me fasse signe rapidement.
En .Net pas de byte codes mais un langage assembleur portable et lisible,
le MSIL. Autre différence de taille.
En .Net pas de byte codes mais un langage assembleur portable et
lisible, le MSIL. Autre différence de taille.
En .Net pas de byte codes mais un langage assembleur portable et
lisible, le MSIL. Autre différence de taille.
En .Net pas de byte codes mais un langage assembleur portable et
lisible, le MSIL. Autre différence de taille.