У меня есть поток в моей программе, которая запускает функцию таймера, напримерПочему C# поток перестает работать автоматически
Thread PopMonitoringThread = new Thread(new ThreadStart(PopMonitoring));
PopMonitoringThread.Start();
public static void PopMonitoring()
{
TimerCallback callback = new TimerCallback(Tick);
Timer stateTimer = new Timer(callback, null, 0, 1000);
}
//Timer method
static public void Tick(Object stateInfo)
{
try
{
if (Properties.Settings.Default.BatchingMode > 0)
{
if (batchTime.Subtract(DateTime.Now) < TimeSpan.Zero)
{
batchTime = DateTime.Now.AddMinutes(Properties.Settings.Default.BatchingMode);
Console.WriteLine("-----------------------------------------------------");
Process();
Console.WriteLine("Batch Process Run");
Console.WriteLine("-----------------------------------------------------");
}
Console.WriteLine("{0}", DateTime.Now.ToString("h:mm:ss"));
}
Console.WriteLine("Pop3 Monitoring start after: {0}", batchTime.Subtract(DateTime.Now));
}
catch (Exception e)
{
throw e;
}
}
Когда я комментирую мой процесс() метод работает отлично каждый второй мой таймер Интерактивным работает но когда я раскомментирую метод процесса из моего метода меток Tick, перестает работать, т. е. метод Tick перестает работать. Код метода обработки работает отлично, значит, нет компиляции и ошибок времени выполнения.
Что вы делаете в «Процессе»? – RoadBump
Мой метод обработки прочитал почту из pop3 gmail, затем отфильтруйте и отправьте httpwebrequest в мое приложение mvc3. – Raj
процесс может занять больше, чем установленный вами интервал. так как вы нажимаете на внешнюю службу, подумайте об увеличении частоты опроса. –