C'est sympa d'y avoir passé du temps.
En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
plus.
Mais le finalize des objets ne sera pas éxécuté c'est çà ?
c'est pas bon çà quand penses-tu ?
PS
je vais lire le lien que tu m'as donné.
"Frederic Melantois" a écrit dans le message
de news:cbgjfk$v72$
> Le problème n'est pas lié au remoting
>
> Ajouter un GC.SupressFinalize dans votre boucle.
>
> <code>
> public class Model
> {
> private Bitmap bitm;
> public Model()
> {
> bitm = new Bitmap(500,500);
> }
> ~Model()
> {
> bitm.Dispose();
> }
> }
> ...
>
> public override void Essai()
> {
> int i=0;
> while (i<1000)
> {
> Model e=new Model();
> GC.SuppressFinalize(e);
> i++;
> }
> GC.Collect();
> }
>
> </code>
>
> Frédéric Mélantois
>
> ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais parti
sur
> de fausses pistes. Le garbage a ses limites. Il faut bien le comprendre.
>
> un guide bien utile.
>
> "Faure-vincent Pascal" a écrit dans
le
> message de news:%
> > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
se
> > déclenche pas. Et je ne sais pas comment faire
> > pascal
> >
> >
> > "Frederic Melantois" a écrit dans le
message
> > de news:cbek29$abe$
> > > Bonjour,
> > >
> > > Vous dites "ces objets" mais si vous êtes en mode singleton, un seul
> objet
> > > est intancié.
> > >
> > > En mode singleton, il faut gérer les accès concurrents.
> > >
> > > Pouvez-vous nous donner plus de détails sur votre code ?
> > >
> > > Frédéric Mélantois
> > >
> > >
> > > "Faure-vincent Pascal" a écrit
dans
> > le
> > > message de news:u$
> > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> remoting
> > .
> > > > C'est bizzard
> > > >
> > > > "Faure-vincent Pascal" a
> dans
> > > le
> > > > message de news:
> > > > > Non il n'y a pas d'interop. C'est uniquement du code managé. Le
> > > singleton
> > > > > est activé dans la service NT ( donc server activated).
> > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > données->
> > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
service.
> > > > > pascal
> > > > >
> > > > >
> > > > >
> > > > > "Eric Mittelette[MS)" a écrit dans le
> message
> > > de
> > > > > news:eYweZ$
> > > > > > Salut,
> > > > > >
> > > > > > Plusieurs pistes à explorer:
> > > > > > Quel sont les objets utilisé dans ton singleton, y aurait
> des
> > > > phase
> > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
vérifier
> > les
> > > > > > dispose...
> > > > > > Le singleton est en client activated ou server activated,
> > c'est
> > > > le
> > > > > > premier cas, comment ezst il libéré ?
> > > > > >
> > > > > > ERic
> > > > > > "Faure-vincent Pascal"
wrote
> in
> > > > > message
> > > > > > news:%
> > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
> > .net.
> > > > > > >
> > > > > > > J'ai un service NT qui expose des service métiers ( sans
.
> > ces
> > > > > > objets
> > > > > > > métiers sont des singletons dans le service NT. Lorsque
> j'utilise
> > > ces
> > > > > > objets
> > > > > > > sur un client par remoting . La mémoire du service NT
a
> > > > chaque
> > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
garbage
> > > > > collector
> > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
d'appelle
> > de
> > > > > > méthode
> > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > m'indiquer
> > > > une
> > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
plaisir.
> > > > > > > Pascal
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
C'est sympa d'y avoir passé du temps.
En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
plus.
Mais le finalize des objets ne sera pas éxécuté c'est çà ?
c'est pas bon çà quand penses-tu ?
PS
je vais lire le lien que tu m'as donné.
"Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le message
de news:cbgjfk$v72$1@s1.read.news.oleane.net...
> Le problème n'est pas lié au remoting
>
> Ajouter un GC.SupressFinalize dans votre boucle.
>
> <code>
> public class Model
> {
> private Bitmap bitm;
> public Model()
> {
> bitm = new Bitmap(500,500);
> }
> ~Model()
> {
> bitm.Dispose();
> }
> }
> ...
>
> public override void Essai()
> {
> int i=0;
> while (i<1000)
> {
> Model e=new Model();
> GC.SuppressFinalize(e);
> i++;
> }
> GC.Collect();
> }
>
> </code>
>
> Frédéric Mélantois
>
> ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais parti
sur
> de fausses pistes. Le garbage a ses limites. Il faut bien le comprendre.
>
> un guide bien utile.
>
> "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit dans
le
> message de news:%23nMfbIfWEHA.644@tk2msftngp13.phx.gbl...
> > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
se
> > déclenche pas. Et je ne sais pas comment faire
> > pascal
> >
> >
> > "Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le
message
> > de news:cbek29$abe$1@s1.read.news.oleane.net...
> > > Bonjour,
> > >
> > > Vous dites "ces objets" mais si vous êtes en mode singleton, un seul
> objet
> > > est intancié.
> > >
> > > En mode singleton, il faut gérer les accès concurrents.
> > >
> > > Pouvez-vous nous donner plus de détails sur votre code ?
> > >
> > > Frédéric Mélantois
> > >
> > >
> > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit
dans
> > le
> > > message de news:u$UuZmeWEHA.208@TK2MSFTNGP10.phx.gbl...
> > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> remoting
> > .
> > > > C'est bizzard
> > > >
> > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a
> dans
> > > le
> > > > message de news:uLAnrJdWEHA.1164@tk2msftngp13.phx.gbl...
> > > > > Non il n'y a pas d'interop. C'est uniquement du code managé. Le
> > > singleton
> > > > > est activé dans la service NT ( donc server activated).
> > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > données->
> > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
service.
> > > > > pascal
> > > > >
> > > > >
> > > > >
> > > > > "Eric Mittelette[MS)" <ericmitt@microsoft.com> a écrit dans le
> message
> > > de
> > > > > news:eYweZ$cWEHA.2544@TK2MSFTNGP10.phx.gbl...
> > > > > > Salut,
> > > > > >
> > > > > > Plusieurs pistes à explorer:
> > > > > > Quel sont les objets utilisé dans ton singleton, y aurait
> des
> > > > phase
> > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
vérifier
> > les
> > > > > > dispose...
> > > > > > Le singleton est en client activated ou server activated,
> > c'est
> > > > le
> > > > > > premier cas, comment ezst il libéré ?
> > > > > >
> > > > > > ERic
> > > > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com>
wrote
> in
> > > > > message
> > > > > > news:%23ihWd5cWEHA.4092@TK2MSFTNGP11.phx.gbl...
> > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
> > .net.
> > > > > > >
> > > > > > > J'ai un service NT qui expose des service métiers ( sans
.
> > ces
> > > > > > objets
> > > > > > > métiers sont des singletons dans le service NT. Lorsque
> j'utilise
> > > ces
> > > > > > objets
> > > > > > > sur un client par remoting . La mémoire du service NT
a
> > > > chaque
> > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
garbage
> > > > > collector
> > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
d'appelle
> > de
> > > > > > méthode
> > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > m'indiquer
> > > > une
> > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
plaisir.
> > > > > > > Pascal
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
C'est sympa d'y avoir passé du temps.
En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
plus.
Mais le finalize des objets ne sera pas éxécuté c'est çà ?
c'est pas bon çà quand penses-tu ?
PS
je vais lire le lien que tu m'as donné.
"Frederic Melantois" a écrit dans le message
de news:cbgjfk$v72$
> Le problème n'est pas lié au remoting
>
> Ajouter un GC.SupressFinalize dans votre boucle.
>
> <code>
> public class Model
> {
> private Bitmap bitm;
> public Model()
> {
> bitm = new Bitmap(500,500);
> }
> ~Model()
> {
> bitm.Dispose();
> }
> }
> ...
>
> public override void Essai()
> {
> int i=0;
> while (i<1000)
> {
> Model e=new Model();
> GC.SuppressFinalize(e);
> i++;
> }
> GC.Collect();
> }
>
> </code>
>
> Frédéric Mélantois
>
> ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais parti
sur
> de fausses pistes. Le garbage a ses limites. Il faut bien le comprendre.
>
> un guide bien utile.
>
> "Faure-vincent Pascal" a écrit dans
le
> message de news:%
> > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
se
> > déclenche pas. Et je ne sais pas comment faire
> > pascal
> >
> >
> > "Frederic Melantois" a écrit dans le
message
> > de news:cbek29$abe$
> > > Bonjour,
> > >
> > > Vous dites "ces objets" mais si vous êtes en mode singleton, un seul
> objet
> > > est intancié.
> > >
> > > En mode singleton, il faut gérer les accès concurrents.
> > >
> > > Pouvez-vous nous donner plus de détails sur votre code ?
> > >
> > > Frédéric Mélantois
> > >
> > >
> > > "Faure-vincent Pascal" a écrit
dans
> > le
> > > message de news:u$
> > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> remoting
> > .
> > > > C'est bizzard
> > > >
> > > > "Faure-vincent Pascal" a
> dans
> > > le
> > > > message de news:
> > > > > Non il n'y a pas d'interop. C'est uniquement du code managé. Le
> > > singleton
> > > > > est activé dans la service NT ( donc server activated).
> > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > données->
> > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
service.
> > > > > pascal
> > > > >
> > > > >
> > > > >
> > > > > "Eric Mittelette[MS)" a écrit dans le
> message
> > > de
> > > > > news:eYweZ$
> > > > > > Salut,
> > > > > >
> > > > > > Plusieurs pistes à explorer:
> > > > > > Quel sont les objets utilisé dans ton singleton, y aurait
> des
> > > > phase
> > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
vérifier
> > les
> > > > > > dispose...
> > > > > > Le singleton est en client activated ou server activated,
> > c'est
> > > > le
> > > > > > premier cas, comment ezst il libéré ?
> > > > > >
> > > > > > ERic
> > > > > > "Faure-vincent Pascal"
wrote
> in
> > > > > message
> > > > > > news:%
> > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
> > .net.
> > > > > > >
> > > > > > > J'ai un service NT qui expose des service métiers ( sans
.
> > ces
> > > > > > objets
> > > > > > > métiers sont des singletons dans le service NT. Lorsque
> j'utilise
> > > ces
> > > > > > objets
> > > > > > > sur un client par remoting . La mémoire du service NT
a
> > > > chaque
> > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
garbage
> > > > > collector
> > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
d'appelle
> > de
> > > > > > méthode
> > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > m'indiquer
> > > > une
> > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
plaisir.
> > > > > > > Pascal
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Puisque vous faîtes une boucle avec des objets couteux, il vous faut
finalizer vous-même vos objets et disposer vos ressources.
Pour cela, il y a pas mal d'explications sur le pattern Dispose
(implémentation de l'interface IDisposable) dans le lien que je vous ai
donné.
Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
liste des instances à finalizer par le garbage collector. Sinon, le
collector essaiera par la suite de finaliser à nouveau...
Frédéric Mélantois
"Faure-vincent Pascal" a écrit dans
message de news:
> C'est sympa d'y avoir passé du temps.
> En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
> plus.
> Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> c'est pas bon çà quand penses-tu ?
> PS
> je vais lire le lien que tu m'as donné.
>
>
> "Frederic Melantois" a écrit dans le
> de news:cbgjfk$v72$
> > Le problème n'est pas lié au remoting
> >
> > Ajouter un GC.SupressFinalize dans votre boucle.
> >
> > <code>
> > public class Model
> > {
> > private Bitmap bitm;
> > public Model()
> > {
> > bitm = new Bitmap(500,500);
> > }
> > ~Model()
> > {
> > bitm.Dispose();
> > }
> > }
> > ...
> >
> > public override void Essai()
> > {
> > int i=0;
> > while (i<1000)
> > {
> > Model e=new Model();
> > GC.SuppressFinalize(e);
> > i++;
> > }
> > GC.Collect();
> > }
> >
> > </code>
> >
> > Frédéric Mélantois
> >
> > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
> sur
> > de fausses pistes. Le garbage a ses limites. Il faut bien le
> >
>
> > un guide bien utile.
> >
> > "Faure-vincent Pascal" a écrit
> le
> > message de news:%
> > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
ne
> se
> > > déclenche pas. Et je ne sais pas comment faire
> > > pascal
> > >
> > >
> > > "Frederic Melantois" a écrit dans le
> message
> > > de news:cbek29$abe$
> > > > Bonjour,
> > > >
> > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
> > objet
> > > > est intancié.
> > > >
> > > > En mode singleton, il faut gérer les accès concurrents.
> > > >
> > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > >
> > > > Frédéric Mélantois
> > > >
> > > >
> > > > "Faure-vincent Pascal" a
> dans
> > > le
> > > > message de news:u$
> > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > remoting
> > > .
> > > > > C'est bizzard
> > > > >
> > > > > "Faure-vincent Pascal" a
écrit
> > dans
> > > > le
> > > > > message de news:
> > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
> > > > singleton
> > > > > > est activé dans la service NT ( donc server activated).
> > > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > > données->
> > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> service.
> > > > > > pascal
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Eric Mittelette[MS)" a écrit dans le
> > message
> > > > de
> > > > > > news:eYweZ$
> > > > > > > Salut,
> > > > > > >
> > > > > > > Plusieurs pistes à explorer:
> > > > > > > Quel sont les objets utilisé dans ton singleton, y
il
> > des
> > > > > phase
> > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> vérifier
> > > les
> > > > > > > dispose...
> > > > > > > Le singleton est en client activated ou server
si
> > > c'est
> > > > > le
> > > > > > > premier cas, comment ezst il libéré ?
> > > > > > >
> > > > > > > ERic
> > > > > > > "Faure-vincent Pascal"
> wrote
> > in
> > > > > > message
> > > > > > > news:%
> > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
sous
> > > .net.
> > > > > > > >
> > > > > > > > J'ai un service NT qui expose des service métiers ( sans
état)
> .
> > > ces
> > > > > > > objets
> > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > j'utilise
> > > > ces
> > > > > > > objets
> > > > > > > > sur un client par remoting . La mémoire du service NT
augmente
> a
> > > > > chaque
> > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> garbage
> > > > > > collector
> > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> d'appelle
> > > de
> > > > > > > méthode
> > > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > > m'indiquer
> > > > > une
> > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> plaisir.
> > > > > > > > Pascal
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Puisque vous faîtes une boucle avec des objets couteux, il vous faut
finalizer vous-même vos objets et disposer vos ressources.
Pour cela, il y a pas mal d'explications sur le pattern Dispose
(implémentation de l'interface IDisposable) dans le lien que je vous ai
donné.
Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
liste des instances à finalizer par le garbage collector. Sinon, le
collector essaiera par la suite de finaliser à nouveau...
Frédéric Mélantois
"Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit dans
message de news:eH1uGloWEHA.4092@TK2MSFTNGP11.phx.gbl...
> C'est sympa d'y avoir passé du temps.
> En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
> plus.
> Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> c'est pas bon çà quand penses-tu ?
> PS
> je vais lire le lien que tu m'as donné.
>
>
> "Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le
> de news:cbgjfk$v72$1@s1.read.news.oleane.net...
> > Le problème n'est pas lié au remoting
> >
> > Ajouter un GC.SupressFinalize dans votre boucle.
> >
> > <code>
> > public class Model
> > {
> > private Bitmap bitm;
> > public Model()
> > {
> > bitm = new Bitmap(500,500);
> > }
> > ~Model()
> > {
> > bitm.Dispose();
> > }
> > }
> > ...
> >
> > public override void Essai()
> > {
> > int i=0;
> > while (i<1000)
> > {
> > Model e=new Model();
> > GC.SuppressFinalize(e);
> > i++;
> > }
> > GC.Collect();
> > }
> >
> > </code>
> >
> > Frédéric Mélantois
> >
> > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
> sur
> > de fausses pistes. Le garbage a ses limites. Il faut bien le
> >
>
> > un guide bien utile.
> >
> > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit
> le
> > message de news:%23nMfbIfWEHA.644@tk2msftngp13.phx.gbl...
> > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
ne
> se
> > > déclenche pas. Et je ne sais pas comment faire
> > > pascal
> > >
> > >
> > > "Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le
> message
> > > de news:cbek29$abe$1@s1.read.news.oleane.net...
> > > > Bonjour,
> > > >
> > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
> > objet
> > > > est intancié.
> > > >
> > > > En mode singleton, il faut gérer les accès concurrents.
> > > >
> > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > >
> > > > Frédéric Mélantois
> > > >
> > > >
> > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a
> dans
> > > le
> > > > message de news:u$UuZmeWEHA.208@TK2MSFTNGP10.phx.gbl...
> > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > remoting
> > > .
> > > > > C'est bizzard
> > > > >
> > > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a
écrit
> > dans
> > > > le
> > > > > message de news:uLAnrJdWEHA.1164@tk2msftngp13.phx.gbl...
> > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
> > > > singleton
> > > > > > est activé dans la service NT ( donc server activated).
> > > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > > données->
> > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> service.
> > > > > > pascal
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Eric Mittelette[MS)" <ericmitt@microsoft.com> a écrit dans le
> > message
> > > > de
> > > > > > news:eYweZ$cWEHA.2544@TK2MSFTNGP10.phx.gbl...
> > > > > > > Salut,
> > > > > > >
> > > > > > > Plusieurs pistes à explorer:
> > > > > > > Quel sont les objets utilisé dans ton singleton, y
il
> > des
> > > > > phase
> > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> vérifier
> > > les
> > > > > > > dispose...
> > > > > > > Le singleton est en client activated ou server
si
> > > c'est
> > > > > le
> > > > > > > premier cas, comment ezst il libéré ?
> > > > > > >
> > > > > > > ERic
> > > > > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com>
> wrote
> > in
> > > > > > message
> > > > > > > news:%23ihWd5cWEHA.4092@TK2MSFTNGP11.phx.gbl...
> > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
sous
> > > .net.
> > > > > > > >
> > > > > > > > J'ai un service NT qui expose des service métiers ( sans
état)
> .
> > > ces
> > > > > > > objets
> > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > j'utilise
> > > > ces
> > > > > > > objets
> > > > > > > > sur un client par remoting . La mémoire du service NT
augmente
> a
> > > > > chaque
> > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> garbage
> > > > > > collector
> > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> d'appelle
> > > de
> > > > > > > méthode
> > > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > > m'indiquer
> > > > > une
> > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> plaisir.
> > > > > > > > Pascal
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Puisque vous faîtes une boucle avec des objets couteux, il vous faut
finalizer vous-même vos objets et disposer vos ressources.
Pour cela, il y a pas mal d'explications sur le pattern Dispose
(implémentation de l'interface IDisposable) dans le lien que je vous ai
donné.
Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
liste des instances à finalizer par le garbage collector. Sinon, le
collector essaiera par la suite de finaliser à nouveau...
Frédéric Mélantois
"Faure-vincent Pascal" a écrit dans
message de news:
> C'est sympa d'y avoir passé du temps.
> En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
> plus.
> Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> c'est pas bon çà quand penses-tu ?
> PS
> je vais lire le lien que tu m'as donné.
>
>
> "Frederic Melantois" a écrit dans le
> de news:cbgjfk$v72$
> > Le problème n'est pas lié au remoting
> >
> > Ajouter un GC.SupressFinalize dans votre boucle.
> >
> > <code>
> > public class Model
> > {
> > private Bitmap bitm;
> > public Model()
> > {
> > bitm = new Bitmap(500,500);
> > }
> > ~Model()
> > {
> > bitm.Dispose();
> > }
> > }
> > ...
> >
> > public override void Essai()
> > {
> > int i=0;
> > while (i<1000)
> > {
> > Model e=new Model();
> > GC.SuppressFinalize(e);
> > i++;
> > }
> > GC.Collect();
> > }
> >
> > </code>
> >
> > Frédéric Mélantois
> >
> > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
> sur
> > de fausses pistes. Le garbage a ses limites. Il faut bien le
> >
>
> > un guide bien utile.
> >
> > "Faure-vincent Pascal" a écrit
> le
> > message de news:%
> > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
ne
> se
> > > déclenche pas. Et je ne sais pas comment faire
> > > pascal
> > >
> > >
> > > "Frederic Melantois" a écrit dans le
> message
> > > de news:cbek29$abe$
> > > > Bonjour,
> > > >
> > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
> > objet
> > > > est intancié.
> > > >
> > > > En mode singleton, il faut gérer les accès concurrents.
> > > >
> > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > >
> > > > Frédéric Mélantois
> > > >
> > > >
> > > > "Faure-vincent Pascal" a
> dans
> > > le
> > > > message de news:u$
> > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > remoting
> > > .
> > > > > C'est bizzard
> > > > >
> > > > > "Faure-vincent Pascal" a
écrit
> > dans
> > > > le
> > > > > message de news:
> > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
> > > > singleton
> > > > > > est activé dans la service NT ( donc server activated).
> > > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > > données->
> > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> service.
> > > > > > pascal
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Eric Mittelette[MS)" a écrit dans le
> > message
> > > > de
> > > > > > news:eYweZ$
> > > > > > > Salut,
> > > > > > >
> > > > > > > Plusieurs pistes à explorer:
> > > > > > > Quel sont les objets utilisé dans ton singleton, y
il
> > des
> > > > > phase
> > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> vérifier
> > > les
> > > > > > > dispose...
> > > > > > > Le singleton est en client activated ou server
si
> > > c'est
> > > > > le
> > > > > > > premier cas, comment ezst il libéré ?
> > > > > > >
> > > > > > > ERic
> > > > > > > "Faure-vincent Pascal"
> wrote
> > in
> > > > > > message
> > > > > > > news:%
> > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
sous
> > > .net.
> > > > > > > >
> > > > > > > > J'ai un service NT qui expose des service métiers ( sans
état)
> .
> > > ces
> > > > > > > objets
> > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > j'utilise
> > > > ces
> > > > > > > objets
> > > > > > > > sur un client par remoting . La mémoire du service NT
augmente
> a
> > > > > chaque
> > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> garbage
> > > > > > collector
> > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> d'appelle
> > > de
> > > > > > > méthode
> > > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > > m'indiquer
> > > > > une
> > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> plaisir.
> > > > > > > > Pascal
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Puisque vous faîtes une boucle avec des objets couteux, il vous faut
finalizer vous-même vos objets et disposer vos ressources.
Pour cela, il y a pas mal d'explications sur le pattern Dispose
(implémentation de l'interface IDisposable) dans le lien que je vous ai
donné.
Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
liste des instances à finalizer par le garbage collector. Sinon, le
collector essaiera par la suite de finaliser à nouveau...
Frédéric Mélantois
"Faure-vincent Pascal" a écrit dans
message de news:
> C'est sympa d'y avoir passé du temps.
> En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
> plus.
> Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> c'est pas bon çà quand penses-tu ?
> PS
> je vais lire le lien que tu m'as donné.
>
>
> "Frederic Melantois" a écrit dans le
> de news:cbgjfk$v72$
> > Le problème n'est pas lié au remoting
> >
> > Ajouter un GC.SupressFinalize dans votre boucle.
> >
> > <code>
> > public class Model
> > {
> > private Bitmap bitm;
> > public Model()
> > {
> > bitm = new Bitmap(500,500);
> > }
> > ~Model()
> > {
> > bitm.Dispose();
> > }
> > }
> > ...
> >
> > public override void Essai()
> > {
> > int i=0;
> > while (i<1000)
> > {
> > Model e=new Model();
> > GC.SuppressFinalize(e);
> > i++;
> > }
> > GC.Collect();
> > }
> >
> > </code>
> >
> > Frédéric Mélantois
> >
> > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
> sur
> > de fausses pistes. Le garbage a ses limites. Il faut bien le
> >
>
> > un guide bien utile.
> >
> > "Faure-vincent Pascal" a écrit
> le
> > message de news:%
> > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
ne
> se
> > > déclenche pas. Et je ne sais pas comment faire
> > > pascal
> > >
> > >
> > > "Frederic Melantois" a écrit dans le
> message
> > > de news:cbek29$abe$
> > > > Bonjour,
> > > >
> > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
> > objet
> > > > est intancié.
> > > >
> > > > En mode singleton, il faut gérer les accès concurrents.
> > > >
> > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > >
> > > > Frédéric Mélantois
> > > >
> > > >
> > > > "Faure-vincent Pascal" a
> dans
> > > le
> > > > message de news:u$
> > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > remoting
> > > .
> > > > > C'est bizzard
> > > > >
> > > > > "Faure-vincent Pascal" a
écrit
> > dans
> > > > le
> > > > > message de news:
> > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
> > > > singleton
> > > > > > est activé dans la service NT ( donc server activated).
> > > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > > données->
> > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> service.
> > > > > > pascal
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Eric Mittelette[MS)" a écrit dans le
> > message
> > > > de
> > > > > > news:eYweZ$
> > > > > > > Salut,
> > > > > > >
> > > > > > > Plusieurs pistes à explorer:
> > > > > > > Quel sont les objets utilisé dans ton singleton, y
il
> > des
> > > > > phase
> > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> vérifier
> > > les
> > > > > > > dispose...
> > > > > > > Le singleton est en client activated ou server
si
> > > c'est
> > > > > le
> > > > > > > premier cas, comment ezst il libéré ?
> > > > > > >
> > > > > > > ERic
> > > > > > > "Faure-vincent Pascal"
> wrote
> > in
> > > > > > message
> > > > > > > news:%
> > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
sous
> > > .net.
> > > > > > > >
> > > > > > > > J'ai un service NT qui expose des service métiers ( sans
état)
> .
> > > ces
> > > > > > > objets
> > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > j'utilise
> > > > ces
> > > > > > > objets
> > > > > > > > sur un client par remoting . La mémoire du service NT
augmente
> a
> > > > > chaque
> > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> garbage
> > > > > > collector
> > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> d'appelle
> > > de
> > > > > > > méthode
> > > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > > m'indiquer
> > > > > une
> > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> plaisir.
> > > > > > > > Pascal
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Puisque vous faîtes une boucle avec des objets couteux, il vous faut
finalizer vous-même vos objets et disposer vos ressources.
Pour cela, il y a pas mal d'explications sur le pattern Dispose
(implémentation de l'interface IDisposable) dans le lien que je vous ai
donné.
Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
liste des instances à finalizer par le garbage collector. Sinon, le
collector essaiera par la suite de finaliser à nouveau...
Frédéric Mélantois
"Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit dans
message de news:eH1uGloWEHA.4092@TK2MSFTNGP11.phx.gbl...
> C'est sympa d'y avoir passé du temps.
> En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
> plus.
> Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> c'est pas bon çà quand penses-tu ?
> PS
> je vais lire le lien que tu m'as donné.
>
>
> "Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le
> de news:cbgjfk$v72$1@s1.read.news.oleane.net...
> > Le problème n'est pas lié au remoting
> >
> > Ajouter un GC.SupressFinalize dans votre boucle.
> >
> > <code>
> > public class Model
> > {
> > private Bitmap bitm;
> > public Model()
> > {
> > bitm = new Bitmap(500,500);
> > }
> > ~Model()
> > {
> > bitm.Dispose();
> > }
> > }
> > ...
> >
> > public override void Essai()
> > {
> > int i=0;
> > while (i<1000)
> > {
> > Model e=new Model();
> > GC.SuppressFinalize(e);
> > i++;
> > }
> > GC.Collect();
> > }
> >
> > </code>
> >
> > Frédéric Mélantois
> >
> > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
> sur
> > de fausses pistes. Le garbage a ses limites. Il faut bien le
> >
>
> > un guide bien utile.
> >
> > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit
> le
> > message de news:%23nMfbIfWEHA.644@tk2msftngp13.phx.gbl...
> > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
ne
> se
> > > déclenche pas. Et je ne sais pas comment faire
> > > pascal
> > >
> > >
> > > "Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le
> message
> > > de news:cbek29$abe$1@s1.read.news.oleane.net...
> > > > Bonjour,
> > > >
> > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
> > objet
> > > > est intancié.
> > > >
> > > > En mode singleton, il faut gérer les accès concurrents.
> > > >
> > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > >
> > > > Frédéric Mélantois
> > > >
> > > >
> > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a
> dans
> > > le
> > > > message de news:u$UuZmeWEHA.208@TK2MSFTNGP10.phx.gbl...
> > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > remoting
> > > .
> > > > > C'est bizzard
> > > > >
> > > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a
écrit
> > dans
> > > > le
> > > > > message de news:uLAnrJdWEHA.1164@tk2msftngp13.phx.gbl...
> > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
> > > > singleton
> > > > > > est activé dans la service NT ( donc server activated).
> > > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > > données->
> > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> service.
> > > > > > pascal
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Eric Mittelette[MS)" <ericmitt@microsoft.com> a écrit dans le
> > message
> > > > de
> > > > > > news:eYweZ$cWEHA.2544@TK2MSFTNGP10.phx.gbl...
> > > > > > > Salut,
> > > > > > >
> > > > > > > Plusieurs pistes à explorer:
> > > > > > > Quel sont les objets utilisé dans ton singleton, y
il
> > des
> > > > > phase
> > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> vérifier
> > > les
> > > > > > > dispose...
> > > > > > > Le singleton est en client activated ou server
si
> > > c'est
> > > > > le
> > > > > > > premier cas, comment ezst il libéré ?
> > > > > > >
> > > > > > > ERic
> > > > > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com>
> wrote
> > in
> > > > > > message
> > > > > > > news:%23ihWd5cWEHA.4092@TK2MSFTNGP11.phx.gbl...
> > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
sous
> > > .net.
> > > > > > > >
> > > > > > > > J'ai un service NT qui expose des service métiers ( sans
état)
> .
> > > ces
> > > > > > > objets
> > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > j'utilise
> > > > ces
> > > > > > > objets
> > > > > > > > sur un client par remoting . La mémoire du service NT
augmente
> a
> > > > > chaque
> > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> garbage
> > > > > > collector
> > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> d'appelle
> > > de
> > > > > > > méthode
> > > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > > m'indiquer
> > > > > une
> > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> plaisir.
> > > > > > > > Pascal
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Puisque vous faîtes une boucle avec des objets couteux, il vous faut
finalizer vous-même vos objets et disposer vos ressources.
Pour cela, il y a pas mal d'explications sur le pattern Dispose
(implémentation de l'interface IDisposable) dans le lien que je vous ai
donné.
Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
liste des instances à finalizer par le garbage collector. Sinon, le
collector essaiera par la suite de finaliser à nouveau...
Frédéric Mélantois
"Faure-vincent Pascal" a écrit dans
message de news:
> C'est sympa d'y avoir passé du temps.
> En effet quand je mets le GC.SuppressFinalize(e) la mémoire n'augmente
> plus.
> Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> c'est pas bon çà quand penses-tu ?
> PS
> je vais lire le lien que tu m'as donné.
>
>
> "Frederic Melantois" a écrit dans le
> de news:cbgjfk$v72$
> > Le problème n'est pas lié au remoting
> >
> > Ajouter un GC.SupressFinalize dans votre boucle.
> >
> > <code>
> > public class Model
> > {
> > private Bitmap bitm;
> > public Model()
> > {
> > bitm = new Bitmap(500,500);
> > }
> > ~Model()
> > {
> > bitm.Dispose();
> > }
> > }
> > ...
> >
> > public override void Essai()
> > {
> > int i=0;
> > while (i<1000)
> > {
> > Model e=new Model();
> > GC.SuppressFinalize(e);
> > i++;
> > }
> > GC.Collect();
> > }
> >
> > </code>
> >
> > Frédéric Mélantois
> >
> > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
> sur
> > de fausses pistes. Le garbage a ses limites. Il faut bien le
> >
>
> > un guide bien utile.
> >
> > "Faure-vincent Pascal" a écrit
> le
> > message de news:%
> > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC
ne
> se
> > > déclenche pas. Et je ne sais pas comment faire
> > > pascal
> > >
> > >
> > > "Frederic Melantois" a écrit dans le
> message
> > > de news:cbek29$abe$
> > > > Bonjour,
> > > >
> > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
> > objet
> > > > est intancié.
> > > >
> > > > En mode singleton, il faut gérer les accès concurrents.
> > > >
> > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > >
> > > > Frédéric Mélantois
> > > >
> > > >
> > > > "Faure-vincent Pascal" a
> dans
> > > le
> > > > message de news:u$
> > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > remoting
> > > .
> > > > > C'est bizzard
> > > > >
> > > > > "Faure-vincent Pascal" a
écrit
> > dans
> > > > le
> > > > > message de news:
> > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
> > > > singleton
> > > > > > est activé dans la service NT ( donc server activated).
> > > > > > Ces objets dans le service NT appellent une couche d'accès aux
> > > données->
> > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> service.
> > > > > > pascal
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Eric Mittelette[MS)" a écrit dans le
> > message
> > > > de
> > > > > > news:eYweZ$
> > > > > > > Salut,
> > > > > > >
> > > > > > > Plusieurs pistes à explorer:
> > > > > > > Quel sont les objets utilisé dans ton singleton, y
il
> > des
> > > > > phase
> > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> vérifier
> > > les
> > > > > > > dispose...
> > > > > > > Le singleton est en client activated ou server
si
> > > c'est
> > > > > le
> > > > > > > premier cas, comment ezst il libéré ?
> > > > > > >
> > > > > > > ERic
> > > > > > > "Faure-vincent Pascal"
> wrote
> > in
> > > > > > message
> > > > > > > news:%
> > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
sous
> > > .net.
> > > > > > > >
> > > > > > > > J'ai un service NT qui expose des service métiers ( sans
état)
> .
> > > ces
> > > > > > > objets
> > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > j'utilise
> > > > ces
> > > > > > > objets
> > > > > > > > sur un client par remoting . La mémoire du service NT
augmente
> a
> > > > > chaque
> > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> garbage
> > > > > > collector
> > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> d'appelle
> > > de
> > > > > > > méthode
> > > > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> > > m'indiquer
> > > > > une
> > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> plaisir.
> > > > > > > > Pascal
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Le problème n'est pas lié au remoting
Ajouter un GC.SupressFinalize dans votre boucle.
<code>
public class Model
{
private Bitmap bitm;
public Model()
{
bitm = new Bitmap(500,500);
}
~Model()
{
bitm.Dispose();
}
}
...
public override void Essai()
{
int i=0;
while (i<1000)
{
Model e=new Model();
GC.SuppressFinalize(e);
i++;
}
GC.Collect();
}
</code>
Frédéric Mélantois
ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais parti
de fausses pistes. Le garbage a ses limites. Il faut bien le comprendre.
un guide bien utile.
"Faure-vincent Pascal" a écrit dans
message de news:%
> J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC ne
> déclenche pas. Et je ne sais pas comment faire
> pascal
>
>
> "Frederic Melantois" a écrit dans le
> de news:cbek29$abe$
> > Bonjour,
> >
> > Vous dites "ces objets" mais si vous êtes en mode singleton, un seul
objet
> > est intancié.
> >
> > En mode singleton, il faut gérer les accès concurrents.
> >
> > Pouvez-vous nous donner plus de détails sur votre code ?
> >
> > Frédéric Mélantois
> >
> >
> > "Faure-vincent Pascal" a écrit
> le
> > message de news:u$
> > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
remoting
> .
> > > C'est bizzard
> > >
> > > "Faure-vincent Pascal" a écrit
dans
> > le
> > > message de news:
> > > > Non il n'y a pas d'interop. C'est uniquement du code managé. Le
> > singleton
> > > > est activé dans la service NT ( donc server activated).
> > > > Ces objets dans le service NT appellent une couche d'accès aux
> données->
> > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> > > > pascal
> > > >
> > > >
> > > >
> > > > "Eric Mittelette[MS)" a écrit dans le
message
> > de
> > > > news:eYweZ$
> > > > > Salut,
> > > > >
> > > > > Plusieurs pistes à explorer:
> > > > > Quel sont les objets utilisé dans ton singleton, y aurait il
des
> > > phase
> > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> les
> > > > > dispose...
> > > > > Le singleton est en client activated ou server activated, si
> c'est
> > > le
> > > > > premier cas, comment ezst il libéré ?
> > > > >
> > > > > ERic
> > > > > "Faure-vincent Pascal"
in
> > > > message
> > > > > news:%
> > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire sous
> .net.
> > > > > >
> > > > > > J'ai un service NT qui expose des service métiers ( sans état)
> ces
> > > > > objets
> > > > > > métiers sont des singletons dans le service NT. Lorsque
j'utilise
> > ces
> > > > > objets
> > > > > > sur un client par remoting . La mémoire du service NT augmente
> > > chaque
> > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> > > > collector
> > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> de
> > > > > méthode
> > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> m'indiquer
> > > une
> > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> > > > > > Pascal
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Le problème n'est pas lié au remoting
Ajouter un GC.SupressFinalize dans votre boucle.
<code>
public class Model
{
private Bitmap bitm;
public Model()
{
bitm = new Bitmap(500,500);
}
~Model()
{
bitm.Dispose();
}
}
...
public override void Essai()
{
int i=0;
while (i<1000)
{
Model e=new Model();
GC.SuppressFinalize(e);
i++;
}
GC.Collect();
}
</code>
Frédéric Mélantois
ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais parti
de fausses pistes. Le garbage a ses limites. Il faut bien le comprendre.
un guide bien utile.
"Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit dans
message de news:%23nMfbIfWEHA.644@tk2msftngp13.phx.gbl...
> J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC ne
> déclenche pas. Et je ne sais pas comment faire
> pascal
>
>
> "Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le
> de news:cbek29$abe$1@s1.read.news.oleane.net...
> > Bonjour,
> >
> > Vous dites "ces objets" mais si vous êtes en mode singleton, un seul
objet
> > est intancié.
> >
> > En mode singleton, il faut gérer les accès concurrents.
> >
> > Pouvez-vous nous donner plus de détails sur votre code ?
> >
> > Frédéric Mélantois
> >
> >
> > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit
> le
> > message de news:u$UuZmeWEHA.208@TK2MSFTNGP10.phx.gbl...
> > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
remoting
> .
> > > C'est bizzard
> > >
> > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit
dans
> > le
> > > message de news:uLAnrJdWEHA.1164@tk2msftngp13.phx.gbl...
> > > > Non il n'y a pas d'interop. C'est uniquement du code managé. Le
> > singleton
> > > > est activé dans la service NT ( donc server activated).
> > > > Ces objets dans le service NT appellent une couche d'accès aux
> données->
> > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> > > > pascal
> > > >
> > > >
> > > >
> > > > "Eric Mittelette[MS)" <ericmitt@microsoft.com> a écrit dans le
message
> > de
> > > > news:eYweZ$cWEHA.2544@TK2MSFTNGP10.phx.gbl...
> > > > > Salut,
> > > > >
> > > > > Plusieurs pistes à explorer:
> > > > > Quel sont les objets utilisé dans ton singleton, y aurait il
des
> > > phase
> > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> les
> > > > > dispose...
> > > > > Le singleton est en client activated ou server activated, si
> c'est
> > > le
> > > > > premier cas, comment ezst il libéré ?
> > > > >
> > > > > ERic
> > > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com>
in
> > > > message
> > > > > news:%23ihWd5cWEHA.4092@TK2MSFTNGP11.phx.gbl...
> > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire sous
> .net.
> > > > > >
> > > > > > J'ai un service NT qui expose des service métiers ( sans état)
> ces
> > > > > objets
> > > > > > métiers sont des singletons dans le service NT. Lorsque
j'utilise
> > ces
> > > > > objets
> > > > > > sur un client par remoting . La mémoire du service NT augmente
> > > chaque
> > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> > > > collector
> > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> de
> > > > > méthode
> > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> m'indiquer
> > > une
> > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> > > > > > Pascal
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Le problème n'est pas lié au remoting
Ajouter un GC.SupressFinalize dans votre boucle.
<code>
public class Model
{
private Bitmap bitm;
public Model()
{
bitm = new Bitmap(500,500);
}
~Model()
{
bitm.Dispose();
}
}
...
public override void Essai()
{
int i=0;
while (i<1000)
{
Model e=new Model();
GC.SuppressFinalize(e);
i++;
}
GC.Collect();
}
</code>
Frédéric Mélantois
ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais parti
de fausses pistes. Le garbage a ses limites. Il faut bien le comprendre.
un guide bien utile.
"Faure-vincent Pascal" a écrit dans
message de news:%
> J'ai l'impression qu'en remoting comme il y a plusieurs thread le GC ne
> déclenche pas. Et je ne sais pas comment faire
> pascal
>
>
> "Frederic Melantois" a écrit dans le
> de news:cbek29$abe$
> > Bonjour,
> >
> > Vous dites "ces objets" mais si vous êtes en mode singleton, un seul
objet
> > est intancié.
> >
> > En mode singleton, il faut gérer les accès concurrents.
> >
> > Pouvez-vous nous donner plus de détails sur votre code ?
> >
> > Frédéric Mélantois
> >
> >
> > "Faure-vincent Pascal" a écrit
> le
> > message de news:u$
> > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
remoting
> .
> > > C'est bizzard
> > >
> > > "Faure-vincent Pascal" a écrit
dans
> > le
> > > message de news:
> > > > Non il n'y a pas d'interop. C'est uniquement du code managé. Le
> > singleton
> > > > est activé dans la service NT ( donc server activated).
> > > > Ces objets dans le service NT appellent une couche d'accès aux
> données->
> > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> > > > pascal
> > > >
> > > >
> > > >
> > > > "Eric Mittelette[MS)" a écrit dans le
message
> > de
> > > > news:eYweZ$
> > > > > Salut,
> > > > >
> > > > > Plusieurs pistes à explorer:
> > > > > Quel sont les objets utilisé dans ton singleton, y aurait il
des
> > > phase
> > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> les
> > > > > dispose...
> > > > > Le singleton est en client activated ou server activated, si
> c'est
> > > le
> > > > > premier cas, comment ezst il libéré ?
> > > > >
> > > > > ERic
> > > > > "Faure-vincent Pascal"
in
> > > > message
> > > > > news:%
> > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire sous
> .net.
> > > > > >
> > > > > > J'ai un service NT qui expose des service métiers ( sans état)
> ces
> > > > > objets
> > > > > > métiers sont des singletons dans le service NT. Lorsque
j'utilise
> > ces
> > > > > objets
> > > > > > sur un client par remoting . La mémoire du service NT augmente
> > > chaque
> > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> > > > collector
> > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> de
> > > > > méthode
> > > > > > par remoting la mémoire est saturée. si quelqu'un pouvait
> m'indiquer
> > > une
> > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> > > > > > Pascal
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
J'ai complété un peu mon test en rajoutant les objets dans une Arraylist
et la par contre la mémoire augmente considérablement.
J'ai beau lire je ne vois pas ou çà pêche
pascal
public override void Essai()
{
Model e;
ArrayList es;
es=new ArrayList();
int i=0;
while (i<100000)
{
e=new Model();
es.Add(e);
i++;
}
}
"Frederic Melantois" a écrit dans le message
de news:cbgokg$2fe$
> Puisque vous faîtes une boucle avec des objets couteux, il vous faut
> finalizer vous-même vos objets et disposer vos ressources.
> Pour cela, il y a pas mal d'explications sur le pattern Dispose
> (implémentation de l'interface IDisposable) dans le lien que je vous ai
> donné.
> Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
> liste des instances à finalizer par le garbage collector. Sinon, le
garbage
> collector essaiera par la suite de finaliser à nouveau...
>
> Frédéric Mélantois
>
> "Faure-vincent Pascal" a écrit dans
le
> message de news:
> > C'est sympa d'y avoir passé du temps.
> > En effet quand je mets le GC.SuppressFinalize(e) la mémoire
> > plus.
> > Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> > c'est pas bon çà quand penses-tu ?
> > PS
> > je vais lire le lien que tu m'as donné.
> >
> >
> > "Frederic Melantois" a écrit dans le
message
> > de news:cbgjfk$v72$
> > > Le problème n'est pas lié au remoting
> > >
> > > Ajouter un GC.SupressFinalize dans votre boucle.
> > >
> > > <code>
> > > public class Model
> > > {
> > > private Bitmap bitm;
> > > public Model()
> > > {
> > > bitm = new Bitmap(500,500);
> > > }
> > > ~Model()
> > > {
> > > bitm.Dispose();
> > > }
> > > }
> > > ...
> > >
> > > public override void Essai()
> > > {
> > > int i=0;
> > > while (i<1000)
> > > {
> > > Model e=new Model();
> > > GC.SuppressFinalize(e);
> > > i++;
> > > }
> > > GC.Collect();
> > > }
> > >
> > > </code>
> > >
> > > Frédéric Mélantois
> > >
> > > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
parti
> > sur
> > > de fausses pistes. Le garbage a ses limites. Il faut bien le
comprendre.
> > >
> >
>
> > > un guide bien utile.
> > >
> > > "Faure-vincent Pascal" a écrit
dans
> > le
> > > message de news:%
> > > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le
> ne
> > se
> > > > déclenche pas. Et je ne sais pas comment faire
> > > > pascal
> > > >
> > > >
> > > > "Frederic Melantois" a écrit dans le
> > message
> > > > de news:cbek29$abe$
> > > > > Bonjour,
> > > > >
> > > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
seul
> > > objet
> > > > > est intancié.
> > > > >
> > > > > En mode singleton, il faut gérer les accès concurrents.
> > > > >
> > > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > > >
> > > > > Frédéric Mélantois
> > > > >
> > > > >
> > > > > "Faure-vincent Pascal" a
écrit
> > dans
> > > > le
> > > > > message de news:u$
> > > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > > remoting
> > > > .
> > > > > > C'est bizzard
> > > > > >
> > > > > > "Faure-vincent Pascal" a
> écrit
> > > dans
> > > > > le
> > > > > > message de news:
> > > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
Le
> > > > > singleton
> > > > > > > est activé dans la service NT ( donc server activated).
> > > > > > > Ces objets dans le service NT appellent une couche d'accès
> > > > données->
> > > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> > service.
> > > > > > > pascal
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > "Eric Mittelette[MS)" a écrit dans
> > > message
> > > > > de
> > > > > > > news:eYweZ$
> > > > > > > > Salut,
> > > > > > > >
> > > > > > > > Plusieurs pistes à explorer:
> > > > > > > > Quel sont les objets utilisé dans ton singleton, y
aurait
> il
> > > des
> > > > > > phase
> > > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> > vérifier
> > > > les
> > > > > > > > dispose...
> > > > > > > > Le singleton est en client activated ou server
activated,
> si
> > > > c'est
> > > > > > le
> > > > > > > > premier cas, comment ezst il libéré ?
> > > > > > > >
> > > > > > > > ERic
> > > > > > > > "Faure-vincent Pascal"
> > wrote
> > > in
> > > > > > > message
> > > > > > > > news:%
> > > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
> sous
> > > > .net.
> > > > > > > > >
> > > > > > > > > J'ai un service NT qui expose des service métiers ( sans
> état)
> > .
> > > > ces
> > > > > > > > objets
> > > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > > j'utilise
> > > > > ces
> > > > > > > > objets
> > > > > > > > > sur un client par remoting . La mémoire du service NT
> augmente
> > a
> > > > > > chaque
> > > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> > garbage
> > > > > > > collector
> > > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> > d'appelle
> > > > de
> > > > > > > > méthode
> > > > > > > > > par remoting la mémoire est saturée. si quelqu'un
> > > > m'indiquer
> > > > > > une
> > > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> > plaisir.
> > > > > > > > > Pascal
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
J'ai complété un peu mon test en rajoutant les objets dans une Arraylist
et la par contre la mémoire augmente considérablement.
J'ai beau lire je ne vois pas ou çà pêche
pascal
public override void Essai()
{
Model e;
ArrayList es;
es=new ArrayList();
int i=0;
while (i<100000)
{
e=new Model();
es.Add(e);
i++;
}
}
"Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le message
de news:cbgokg$2fe$1@s1.read.news.oleane.net...
> Puisque vous faîtes une boucle avec des objets couteux, il vous faut
> finalizer vous-même vos objets et disposer vos ressources.
> Pour cela, il y a pas mal d'explications sur le pattern Dispose
> (implémentation de l'interface IDisposable) dans le lien que je vous ai
> donné.
> Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
> liste des instances à finalizer par le garbage collector. Sinon, le
garbage
> collector essaiera par la suite de finaliser à nouveau...
>
> Frédéric Mélantois
>
> "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit dans
le
> message de news:eH1uGloWEHA.4092@TK2MSFTNGP11.phx.gbl...
> > C'est sympa d'y avoir passé du temps.
> > En effet quand je mets le GC.SuppressFinalize(e) la mémoire
> > plus.
> > Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> > c'est pas bon çà quand penses-tu ?
> > PS
> > je vais lire le lien que tu m'as donné.
> >
> >
> > "Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le
message
> > de news:cbgjfk$v72$1@s1.read.news.oleane.net...
> > > Le problème n'est pas lié au remoting
> > >
> > > Ajouter un GC.SupressFinalize dans votre boucle.
> > >
> > > <code>
> > > public class Model
> > > {
> > > private Bitmap bitm;
> > > public Model()
> > > {
> > > bitm = new Bitmap(500,500);
> > > }
> > > ~Model()
> > > {
> > > bitm.Dispose();
> > > }
> > > }
> > > ...
> > >
> > > public override void Essai()
> > > {
> > > int i=0;
> > > while (i<1000)
> > > {
> > > Model e=new Model();
> > > GC.SuppressFinalize(e);
> > > i++;
> > > }
> > > GC.Collect();
> > > }
> > >
> > > </code>
> > >
> > > Frédéric Mélantois
> > >
> > > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
parti
> > sur
> > > de fausses pistes. Le garbage a ses limites. Il faut bien le
comprendre.
> > >
> >
>
> > > un guide bien utile.
> > >
> > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a écrit
dans
> > le
> > > message de news:%23nMfbIfWEHA.644@tk2msftngp13.phx.gbl...
> > > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le
> ne
> > se
> > > > déclenche pas. Et je ne sais pas comment faire
> > > > pascal
> > > >
> > > >
> > > > "Frederic Melantois" <fmelantois@ancienallaban.fr> a écrit dans le
> > message
> > > > de news:cbek29$abe$1@s1.read.news.oleane.net...
> > > > > Bonjour,
> > > > >
> > > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
seul
> > > objet
> > > > > est intancié.
> > > > >
> > > > > En mode singleton, il faut gérer les accès concurrents.
> > > > >
> > > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > > >
> > > > > Frédéric Mélantois
> > > > >
> > > > >
> > > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a
écrit
> > dans
> > > > le
> > > > > message de news:u$UuZmeWEHA.208@TK2MSFTNGP10.phx.gbl...
> > > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > > remoting
> > > > .
> > > > > > C'est bizzard
> > > > > >
> > > > > > "Faure-vincent Pascal" <pfaurevincent@val-informatique.com> a
> écrit
> > > dans
> > > > > le
> > > > > > message de news:uLAnrJdWEHA.1164@tk2msftngp13.phx.gbl...
> > > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
Le
> > > > > singleton
> > > > > > > est activé dans la service NT ( donc server activated).
> > > > > > > Ces objets dans le service NT appellent une couche d'accès
> > > > données->
> > > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> > service.
> > > > > > > pascal
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > "Eric Mittelette[MS)" <ericmitt@microsoft.com> a écrit dans
> > > message
> > > > > de
> > > > > > > news:eYweZ$cWEHA.2544@TK2MSFTNGP10.phx.gbl...
> > > > > > > > Salut,
> > > > > > > >
> > > > > > > > Plusieurs pistes à explorer:
> > > > > > > > Quel sont les objets utilisé dans ton singleton, y
aurait
> il
> > > des
> > > > > > phase
> > > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> > vérifier
> > > > les
> > > > > > > > dispose...
> > > > > > > > Le singleton est en client activated ou server
activated,
> si
> > > > c'est
> > > > > > le
> > > > > > > > premier cas, comment ezst il libéré ?
> > > > > > > >
> > > > > > > > ERic
> > > > > > > > "Faure-vincent Pascal"
> > wrote
> > > in
> > > > > > > message
> > > > > > > > news:%23ihWd5cWEHA.4092@TK2MSFTNGP11.phx.gbl...
> > > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
> sous
> > > > .net.
> > > > > > > > >
> > > > > > > > > J'ai un service NT qui expose des service métiers ( sans
> état)
> > .
> > > > ces
> > > > > > > > objets
> > > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > > j'utilise
> > > > > ces
> > > > > > > > objets
> > > > > > > > > sur un client par remoting . La mémoire du service NT
> augmente
> > a
> > > > > > chaque
> > > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> > garbage
> > > > > > > collector
> > > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> > d'appelle
> > > > de
> > > > > > > > méthode
> > > > > > > > > par remoting la mémoire est saturée. si quelqu'un
> > > > m'indiquer
> > > > > > une
> > > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> > plaisir.
> > > > > > > > > Pascal
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
J'ai complété un peu mon test en rajoutant les objets dans une Arraylist
et la par contre la mémoire augmente considérablement.
J'ai beau lire je ne vois pas ou çà pêche
pascal
public override void Essai()
{
Model e;
ArrayList es;
es=new ArrayList();
int i=0;
while (i<100000)
{
e=new Model();
es.Add(e);
i++;
}
}
"Frederic Melantois" a écrit dans le message
de news:cbgokg$2fe$
> Puisque vous faîtes une boucle avec des objets couteux, il vous faut
> finalizer vous-même vos objets et disposer vos ressources.
> Pour cela, il y a pas mal d'explications sur le pattern Dispose
> (implémentation de l'interface IDisposable) dans le lien que je vous ai
> donné.
> Il est recommandé de désinscrire (par GC.SuppressFinalize) l'objet de la
> liste des instances à finalizer par le garbage collector. Sinon, le
garbage
> collector essaiera par la suite de finaliser à nouveau...
>
> Frédéric Mélantois
>
> "Faure-vincent Pascal" a écrit dans
le
> message de news:
> > C'est sympa d'y avoir passé du temps.
> > En effet quand je mets le GC.SuppressFinalize(e) la mémoire
> > plus.
> > Mais le finalize des objets ne sera pas éxécuté c'est çà ?
> > c'est pas bon çà quand penses-tu ?
> > PS
> > je vais lire le lien que tu m'as donné.
> >
> >
> > "Frederic Melantois" a écrit dans le
message
> > de news:cbgjfk$v72$
> > > Le problème n'est pas lié au remoting
> > >
> > > Ajouter un GC.SupressFinalize dans votre boucle.
> > >
> > > <code>
> > > public class Model
> > > {
> > > private Bitmap bitm;
> > > public Model()
> > > {
> > > bitm = new Bitmap(500,500);
> > > }
> > > ~Model()
> > > {
> > > bitm.Dispose();
> > > }
> > > }
> > > ...
> > >
> > > public override void Essai()
> > > {
> > > int i=0;
> > > while (i<1000)
> > > {
> > > Model e=new Model();
> > > GC.SuppressFinalize(e);
> > > i++;
> > > }
> > > GC.Collect();
> > > }
> > >
> > > </code>
> > >
> > > Frédéric Mélantois
> > >
> > > ps : J'ai mis un peu de temps pour trouver ;-) surtout que j'étais
parti
> > sur
> > > de fausses pistes. Le garbage a ses limites. Il faut bien le
comprendre.
> > >
> >
>
> > > un guide bien utile.
> > >
> > > "Faure-vincent Pascal" a écrit
dans
> > le
> > > message de news:%
> > > > J'ai l'impression qu'en remoting comme il y a plusieurs thread le
> ne
> > se
> > > > déclenche pas. Et je ne sais pas comment faire
> > > > pascal
> > > >
> > > >
> > > > "Frederic Melantois" a écrit dans le
> > message
> > > > de news:cbek29$abe$
> > > > > Bonjour,
> > > > >
> > > > > Vous dites "ces objets" mais si vous êtes en mode singleton, un
seul
> > > objet
> > > > > est intancié.
> > > > >
> > > > > En mode singleton, il faut gérer les accès concurrents.
> > > > >
> > > > > Pouvez-vous nous donner plus de détails sur votre code ?
> > > > >
> > > > > Frédéric Mélantois
> > > > >
> > > > >
> > > > > "Faure-vincent Pascal" a
écrit
> > dans
> > > > le
> > > > > message de news:u$
> > > > > > J'ai l'impression de le garbage ne ce fait pas quand il y a du
> > > remoting
> > > > .
> > > > > > C'est bizzard
> > > > > >
> > > > > > "Faure-vincent Pascal" a
> écrit
> > > dans
> > > > > le
> > > > > > message de news:
> > > > > > > Non il n'y a pas d'interop. C'est uniquement du code managé.
Le
> > > > > singleton
> > > > > > > est activé dans la service NT ( donc server activated).
> > > > > > > Ces objets dans le service NT appellent une couche d'accès
> > > > données->
> > > > > > > sqlserveur 2000. Cette couche DAL est hébergée dans le même
> > service.
> > > > > > > pascal
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > "Eric Mittelette[MS)" a écrit dans
> > > message
> > > > > de
> > > > > > > news:eYweZ$
> > > > > > > > Salut,
> > > > > > > >
> > > > > > > > Plusieurs pistes à explorer:
> > > > > > > > Quel sont les objets utilisé dans ton singleton, y
aurait
> il
> > > des
> > > > > > phase
> > > > > > > > d'interop, d'appel a des objets COM ? auquel cas il faut
> > vérifier
> > > > les
> > > > > > > > dispose...
> > > > > > > > Le singleton est en client activated ou server
activated,
> si
> > > > c'est
> > > > > > le
> > > > > > > > premier cas, comment ezst il libéré ?
> > > > > > > >
> > > > > > > > ERic
> > > > > > > > "Faure-vincent Pascal"
> > wrote
> > > in
> > > > > > > message
> > > > > > > > news:%
> > > > > > > > > Bonjours j'ai un petit souci d'utilisation de la mémoire
> sous
> > > > .net.
> > > > > > > > >
> > > > > > > > > J'ai un service NT qui expose des service métiers ( sans
> état)
> > .
> > > > ces
> > > > > > > > objets
> > > > > > > > > métiers sont des singletons dans le service NT. Lorsque
> > > j'utilise
> > > > > ces
> > > > > > > > objets
> > > > > > > > > sur un client par remoting . La mémoire du service NT
> augmente
> > a
> > > > > > chaque
> > > > > > > > > appelle de méthode. j'ai beau faire une méthode avec un
> > garbage
> > > > > > > collector
> > > > > > > > > dedans çà ne fait rien. Et au bout d'un certain nombre
> > d'appelle
> > > > de
> > > > > > > > méthode
> > > > > > > > > par remoting la mémoire est saturée. si quelqu'un
> > > > m'indiquer
> > > > > > une
> > > > > > > > > piste à suivre pour résoudre ce prblème çà serait avec
> > plaisir.
> > > > > > > > > Pascal
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>