Ho un servizio Windows che utilizza una classe singleton ThreadQueue<T>
. Quando il servizio viene avviato, effettua una chiamata a ThreadQueue<string>.Start()
, quindi accetta e accoda le attività che limitano la concorrenza a un numero configurabile di thread.Strange System .__ Eccezione Canon
ThreadQueue<string>.Start()
viene chiamato una volta sola una volta all'avvio del servizio.
A volte, dopo poche ore di servizio in esecuzione che ricevo la seguente eccezione:
Application: myservice.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
Stack:
at Apollo.Business.Framework.Threading.ThreadQueue.ThreadQueue`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Start()
at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()
Ciò che è e ciò che è System.__Canon
rendendo questo passaggio in questo come un argomento di tipo di chiamata?
Qualcuno può far luce?
Hai provato a compilarlo in modalità 'Debug'? – Ofiris
E 'già, perché lo chiedi? – jaywayco