私は ASCOM 望遠鏡ドライバーを作成しています。クライアント アプリケーションが適切に切断されなかったり、クラッシュしたりしたときに、いくつかのシリアル ポート コマンドがスコープに送信され、スコープの移動を停止することを保証する必要があります。
このようなファイナライザーを追加してみました
~Telescope()
{
Common.AbortSlew();
Common.SetTracking(false);
}
SendSerialPortCommand() メソッドに到達し、実際にバイトをネットワーク上に送信せずに終了し、lock ステートメントの直前で終了したように見えます。
レポはここで見ることができます
http://code.google.com/p/ascom-nexstar-telescope/source/browse/NexStar/
ファイナライザーは driver.cs にあり、呼び出されたメソッドは static クラス Common にあります
これを達成するためのより良い、またはより信頼できる方法はありますか?