Hallo,
ich arbeite seit geraumer Zeit mit der Lotus Notes API in .NET. Leider habe ich das Problem, das mein Programm in Laufe der Zeit immer mehr Speicher verbraucht. Ich kann mir beim besten willen nicht Vorstellen woher dies kommt. Mit dem Speicher-Verwaltungstool von ANTZ habe ich mir meine .NET - Klassen angeschaut. Diese bleiben über die gesamte Laufzeit sehr Konstant. Trotzdem steigt der Speicher im Laufe der Zeit ins unermäßliche.
Muss ich die Com-Objekte besonders bearbeiten, erstellen bzw. Freigeben?
Ich erstelle ein Objekt mit:
Domino.NotesSession notesSession = null;
notesSession = new Domino.NotesSessionClass();
notesSession.Initialize(NotesPassword);
Am Ende das Objekt auf NULL zu setzen, reicht leider nicht aus. Auch ein explizieter Aufruf des GC will mir den Speicher nicht verkleinen.
Hallo,
probier mal
Marshal.ReleaseComObject(notesSession);
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
oh, das hatte ich bereits versucht. habs nur vergessen zu posten. das geht solange, wie ich nichts mit der session gemacht habe. lass ich mir beispielsweise eine Notes-Datenbank geben, steigt der speicher wieder, obwohl ich Marshalling mache.