У меня есть служба Windows, которая использует одноэлементный класс ThreadQueue<T>
. Когда служба запускается, он вызывает вызов ThreadQueue<string>.Start()
этого класса, затем принимает и ставит задачи, ограничивающие concurrency на настраиваемое количество потоков.
ThreadQueue<string>.Start()
вызывается один раз и только один раз при запуске службы.
Иногда, через несколько часов работы службы, я получаю следующее исключение:
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()
Что такое System.__Canon
и что делает этот вызов проходящим в нем как аргумент типа?
Может ли кто-нибудь пролить свет?