2分ごとにプロセスを開始するタイマーを備えたVS2012プロジェクトがあります。正常に動作しますが、プロジェクトが停止した後も実行を継続しているようです。私が持っているこれの唯一の兆候は、タイマー間隔でデータベースにエラーを記録しているということです。タイマーを明示的に停止する必要がありますか?停止ボタンを押すと、それはどのように行われますか?プロジェクトを閉じると、ロギングが停止します。
ティックイベント(RefreshBroadcast)はサイレントに失敗します(アプリが実行されていない場合)が、ログは正常に機能します。また、ログは、デフォルト(アプリケーション名など)を使用するため、構成ファイルにアクセスできないことを示します。ロギングコードもビューにエラーを表示することになっているため、最終的にVisual Studioは、エラービューウィンドウに「...で識別されるリソースがありません」と通知します。これは、私が別の場所でコーディングしているときにプロジェクトが停止したときに発生します。この後、DBへのロギングは停止します。
 Public Sub New()
        If Not System.Windows.Application.Current.MainWindow Is Nothing Then
            _refreshBroadcastTimer = New System.Windows.Threading.DispatcherTimer()
            AddHandler _refreshBroadcastTimer.Tick, AddressOf dispatcherTimer_Tick
            If Debugger.IsAttached Then
                _refreshBroadcastTimer.Interval = New TimeSpan(0, 0, 30)
            Else
                _refreshBroadcastTimer.Interval = New TimeSpan(0, 0, My.Settings.RefreshBroadcastIntervalMinutes * 60) ' change to seconds
            End If
            _refreshBroadcastTimer.Start()
        End If
    End Sub
Private Sub dispatcherTimer_Tick(sender As Object, e As EventArgs)
    Try
        RefreshBroadcast()
    Catch ex As Exception
        LogException(ex)
    End Try
End Sub