Autor Thema: Notes API - NotesSession  (Gelesen 4777 mal)

Offline olaf77

  • Frischling
  • *
  • Beiträge: 6
Notes API - NotesSession
« am: 02.08.12 - 10:31:08 »
Hallo zusammen,

ich benutze derzeit die Notes API in .NET (C#) und durchsuche in einem Programm mit der Methode NotesDocumentCollection.FTSearch("query") eine Notes-Datenbank nach bestimmten Dokumenten, finde bestenfalls mit dem Suchbegriff ein Dokument und gebe bestimmte Daten des Dokuments zurück. Das klappt alles wunderbar.... so weit so gut!

Letztlich habe ich nun ein "Problem" (es ist eher eine Unschönheit), dass ich es nicht schaffe, die NotesSession zu killen. Ich habe etwas gegoogelt, doch keine wirklich brauchbaren Antworten bekommen. Mein Program läuft mittlerweile als Windows-Service und die API blockt deshalb den Notes-Client, sobald der Service läuft (und dieser soll immer laufen):

"Diese Datenbank wird von einer anderen Person bzw. einem anderen Prozess verwendet. Der Zugriff ist zur Zeit nicht möglich."

Klingt erstmal logisch, da die API ja mehr oder weniger auf dem Notes-Client basiert. Mein Windows-Service läuft zwar permanent, aber wenn ein Client zu diesem Service connected, dann dauert die Suche in der NotesSession nur ca. eine Sekunde, danach könnte man (wenn es denn irgendwie gehen würde) die Session wieder freigeben, damit ich auf dem Rechner, auf dem der Service läuft, auch gelegentlich den Notes-Client benutzen könnte. Es ist mir klar, dass dann in dieser Zeit der Service selbst auf die Nase fallen würde, aber ich brauche das eigentlich auch mehr für die Entwicklungs- und Testphase.

Code
NotesSession session = new NotesSession();
session.Initialize(password);
//...
// hier die Programmlogik
//...
//Programmende
//hier fehlt eine Methode zum Beenden der Session (session.Close()?/session.flush()?)
session = null;
return;


Wie man im beispielhaften Code-Snippet sieht, habe ich bereits versucht, die Session am Ende einfach gleich null zu setzen, was das Problem aber nicht behebt.


Hat da jemand noch Ideen/Tipps/Tricks? Oder muss ich mich damit abfinden, dass man so eine NotesSession nicht mehr aus dem Speicher bekommt, ohne das Programm zu beenden?


Vielen Dank schon mal fürs Lesen.

Gruß,
Olaf

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Notes API - NotesSession
« Antwort #1 am: 02.08.12 - 11:41:08 »
... probiers mal mit Set session = Nothing

Toni
Grüßle Toni :)

Offline olaf77

  • Frischling
  • *
  • Beiträge: 6
Re: Notes API - NotesSession
« Antwort #2 am: 02.08.12 - 12:01:39 »
Danke für die Antwort, aber ich bin ja mit C# und nicht mit VB unterwegs... und sofern mir nichts entgangen ist, ist "null"  in C# das Äquivalent zu "nothing" in VB

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Notes API - NotesSession
« Antwort #3 am: 02.08.12 - 12:56:32 »
... sorry - da war ich nicht gründlich beim Lesen...  ;)
Grüßle Toni :)

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Notes API - NotesSession
« Antwort #4 am: 02.08.12 - 22:59:21 »
in java ginge es mit session.recycle() ... kann leider kein C#
kannst du evtl die garbage-collection von C# "anstoßen"?

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz