<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<copyright>Manuel Josupeit-Walter</copyright>
		<generator>Capits.Simple Blog</generator>
		<language>de</language>
		<lastBuildDate>Sun, 26 May 2013 03:46:17 +0200</lastBuildDate>
		<managingEditor>webmaster@josupeit.com (Manuel Josupeit-Walter)</managingEditor>
		<webMaster>webmaster@josupeit.com (Manuel Josupeit-Walter)</webMaster>
		<ttl>1440</ttl>
		<atom:link href="http://www.josupeit.com/weblog~informatik-und-technik~dotnet?output=rss&amp;target=comments&amp;article=29" rel="self" type="application/rss+xml" />
		<link>http://www.josupeit.com/weblog~informatik-und-technik~dotnet,erweiterung-zum-globalen-singleton.html</link>
		<title>Systemweiter Singleton in C# - josupeit.com</title>
		<pubDate>Wed, 19 Dec 2007 15:51:38 +0100</pubDate>
		<description>Aus dem Leben eines Homo Informaticus</description>
		
		<item>	
			<title>Von: Manuel</title>
			<link>http://www.josupeit.com/weblog~informatik-und-technik~dotnet,erweiterung-zum-globalen-singleton.html#c1175471355</link>
			<guid>http://www.josupeit.com/front_content.php?lang=1&amp;idart=29#c1175471355</guid>
			<pubDate>Tue, 24 Jun 2008 19:18:22 +0200</pubDate>
			<author>Manuel</author>
			<description><![CDATA[ Hallo Josef, vielen Dank für Deinen Kommentar.<br />
			<br />
			Nun, in der bereitgestellten Datei findet sich lediglich ein Beispiel dafür, wie eine Realisierung aussehen kann, in der Tat bin ich dort nicht auf einen solchen Sonderfall, wie den von Dir beschriebenen eingegangen. <br />
			<br />
			Wie steht es denn mit Deinem Lösungsansatz, wenn ein Prozess gekillt wird (und die AbandonedMutexException geworfen wird) im Detail? Kann der Mutex dann erneut registriert werden?<br />
			<br />
			Ich werde jedenfalls zusehen, dass ich auch Deinen Hinweis einarbeite und die Änderungen online stelle.<br />
			<br />
			Viele Grüße nach Österreich,<br />
			Manuel ]]></description>
		</item>
		<item>
			<title>Von: Hahnl Josef</title>
			<link>http://www.josupeit.com/weblog~informatik-und-technik~dotnet,erweiterung-zum-globalen-singleton.html#c1725058901</link>
			<guid>http://www.josupeit.com/front_content.php?lang=1&amp;idart=29#c1725058901</guid>
			<pubDate>Tue, 24 Jun 2008 09:51:12 +0200</pubDate>
			<author>Hahnl Josef</author>
			<description><![CDATA[ Wird ein Programm, das Eigentümer des Mutex ist abgebrochen (z.B. Taskmanager) dann wird auch in der neuen Lösung AppDomain.CurrentDomain.ProcessExit bzw. auch AppDomain.CurrentDomain.DomainUnload NICHT ausgeführt.<br />
			<br />
			Für eine &quot;saubere&quot; Lösung stellt sich also die Frage, wie kann ein fremder Process ReleaseMutex()auf den Mutex ausführen???<br />
			<br />
			Hilfreich eventuell auch folgende Methode:<br />
			        public static bool OtherInstanceRunning()<br />
			        {<br />
			            bool waitOne;<br />
			            try<br />
			            {<br />
			                // Signalisieren des Mutex und gleichzeitig abfragen,<br />
			                // ob bereits ein gleichnamiger Mutex existiert.<br />
			                waitOne = mutex.WaitOne(0, true);<br />
			            }<br />
			            catch (AbandonedMutexException)<br />
			            {<br />
			                // AbandonedMutexException ist neu in .NET Framework, Version 2.0. In früheren <br />
			                // Versionen wurde von der WaitOne-Methode true	zurückgegeben, wenn	ein	Mutex <br />
			                // abgebrochen wurde.<br />
			                // Ein verwaister Mutex	ist	ein	Hinweis	auf	einen schwerwiegenden Fehler im	Code,<br />
			                // wird aber hier zum Feststellen eines gleichnamigen Mutex verwendet.<br />
			<br />
			                // Die Wartezeit wurde abgeschlossen, weil ein Thread beendet wurde, ohne einen	Mutex <br />
			                // freizugeben.	Diese Ausnahme wird	unter Windows 98 oder Windows Millennium Edition <br />
			                // nicht ausgelöst.<br />
			                waitOne = false;<br />
			            }<br />
			            return !waitOne;<br />
			        }<br />
			<br />
			Beste Grüße<br />
			Josef<br />
			 ]]></description>
		</item>
		<item>
			<title>Von: Manuel</title>
			<link>http://www.josupeit.com/weblog~informatik-und-technik~dotnet,erweiterung-zum-globalen-singleton.html#c622026919</link>
			<guid>http://www.josupeit.com/front_content.php?lang=1&amp;idart=29#c622026919</guid>
			<pubDate>Thu, 15 May 2008 14:15:43 +0200</pubDate>
			<author>Manuel</author>
			<description><![CDATA[ Eigentlich sollte der Mutex, der zur überprüfung, ob bereits eine Instanz registriert ist beim schließen der Anwendung wieder freigegeben werden, so dass das erste Programm beim Zugriff eine neue Instanz erzeugen sollte.<br />
			<br />
			Ich überprüfe das aber gerne nochmal. Wenn das entsprechende Objekt aber im Speicher gehalten werden soll, dann darf die entsprechende Instanz der Anwendung nicht geschlossen werden, das heißt, dass das entsprechende Singleton Objekt (und die Abhängigen Objekte) im Speicher gehalten werden müssen, bis alle anderen Instanzen geschlossen wurden. Ist aber nicht so einfach und ad hoc kann ich da auch keine Lösung präsentieren. Sorry. ]]></description>
		</item>
		<item>
			<title>Von: Tom</title>
			<link>http://www.josupeit.com/weblog~informatik-und-technik~dotnet,erweiterung-zum-globalen-singleton.html#c1346510512</link>
			<guid>http://www.josupeit.com/front_content.php?lang=1&amp;idart=29#c1346510512</guid>
			<pubDate>Thu, 15 May 2008 12:55:44 +0200</pubDate>
			<author>Tom</author>
			<description><![CDATA[ Hallo<br />
			Die Idee mit der systemweiten Singletonklasse ist super. Ich habe mit dem Code nur ein Problem.<br />
			<br />
			Wenn ich mehrere Programme welche die Singletonklasse benutzen starte, dann funktioniert alles bestens bis ich das Program welches die Singletonklasse als erstes aufgerufen hat schliesse. Anschliessend kriege ich bei allen anderen Programmen die auf die Klasse zugreiffen wollen eine Fehlermeldung  :)<br />
			<br />
			Gibt es da Abhilfe? Wäre für einen guten Tipp dankbar.<br />
			Gruss<br />
			Tom ]]></description>
		</item>
	</channel>
</rss>