1
私は数時間実行した後、ほとんど毎日ログを記録せずにクラッシュするc#windowsサービスを持っています。最近、文字通りすべてのメソッドにキャッチブロックを追加しましたが、それでも助けにはなりません。私はMSMQで非同期コールバックを使用しているので、いくつかのマルチスレッドの問題があるかもしれないと思いますが、私は明確な手掛かりがありません。この問題の洞察は非常に役立ちます。C#Windowsサービスがキャッチブロックを打つことなくクラッシュする
public MyService : ServiceBase
{
onStart()
{
try
{
someQueue.BeginReceive()
}
catch(Exception e)
{
log error and throw
}
}
void someQueue_ReceiveCompleted(object sender, ReceiveCompletedEventArgs e)
{
try
{
//process the message
}
catch(Exception e)
{
//log
}
finally
{
someQueue.Refresh()
someQueue.BeginReceive();
}
}
}
を見つけることができます?私はそのセクションの周りにいくつかの防御コードを追加します。 – CoreTech
このマシンのイベントログにエラーまたは警告が表示されますか。 –