2012-03-30 3 views

Antwort

5

Seit .NET 4.5 Sie WaitHandleCannotBeOpenedException Ausnahme für Fall, wenn Systemereignis unter Verwendung TryOpenExisting() Methode existiert nicht genannt beseitigen:

EventWaitHandle result = null; 
if (!EventWaitHandle.TryOpenExisting("eventName", out result)) 
{ 
    if (result == null) 
    { 
     // event was not found 
    }else 
    { 
     // result represent a cross process WaitEvent handle 
    } 
} 

public static bool TryOpenExisting(
         string name, 
         out EventWaitHandle result 
) 

MSDN :

Wenn Sie unsicher sind, Ob ein benanntes Synchronisationsereignis vorhanden ist, verwenden Sie Diese Methodenüberladung anstelle der OpenExisting-Methodenüberladung, , die eine Ausnahme auslöst, wenn das Synchronisationsereignis nicht vorhanden ist