Frage

Ich möchte richtig einige Steckdosen schließen, und in der Lage, den Server zu sagen, dass wir schließen, aber wenn die Anwendung geschlossen wird dann die Steckdosen sind alle nur geschlossen und gelegentlich Dateien gesperrt sind links. Wie kann ich führen eine Methode, wenn meine Anwendung geschlossen wird?

Das wird in eine Bibliothek gehen, die in einer Form App verwendet werden.

War es hilfreich?

Lösung

Ich würde implementieren IDisposable auf die Klassen, die verwenden diese Ressourcen. Entsorgen Sie können dann explizit von welcher Shutdown-Methode aufgerufen werden die Anwendungsart Stützen (OnFormClose, OnStop, Application_End, ...).

Andere Tipps

Wenn es ein Windows Forms-Anwendung, die Sie den Fokus auf das Formular geben können, klicken Sie auf die Ereignisse Blitzsymbol im Fenster Eigenschaften, und das Formular Abschlussveranstaltung verwenden.

this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(OnFormClosing);

private void OnFormClosing(object sender, FormClosingEventArgs e)
{
    // Your socket logic here
}

Auch wenn Sie das Formular abfangen müssen die Cancel-Eigenschaft auf true geschlossen wird gesetzt:

e.Cancel = true;

Sprechen Sie über eine WinForms-Anwendung? Wenn ja, verwenden Sie die Formclosing Ereignis auf der Hauptform.

Ich bin mir nicht sicher, ob es der beste Platz für sie ist, aber man kann sagen, Ihr Prozess durch Einhaken AppDomain.ProcessExit . Es ist für die Bereinigung in Ordnung, aber ich glaube nicht, ist es eine gute Zeit ist, keine Nachrichten zu senden. :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top