0
Когда мой сервер RTD запускается, он проходит через вызовы ServerStart и ConnectData, а затем, когда данные начинают поступать, он получает вызов ServerTerminate, который отключает все. я добавил трассировки стека дампа, но это не говорит мне ничего полезного:Сервер Excel RTD неожиданно ServerTerminate
public void ServerTerminate()
{
Logger.DebugLog("TRACE: ServerTerminate {0}", new System.Diagnostics.StackTrace(true));
timer_.Dispose();
DataSource.Shutdown();
topicIdMap_.Clear();
fieldLookup_.Clear();
}
2014-09-18 11:22:12Z TRACE: ServerTerminate at Mike.RtdServer.ServerTerminate() in c:\Code\Mike\RtdServer.cs:line 347
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
Что может вызвать этот призыв к ServerTerminate?
как насчет отправки кода, который вызывает этот метод 'ServerTerminate()', также может быть проблема с тем, как вы используете/вызываете таймер .. используете ли вы какой-либо механизм блокировки? Я думаю, что вам нужно показать больше кода. – MethodMan
Это RTD-сервер: Excel вызывает ServerStart и ServerTerminate. Я не вызываю ни одного из них напрямую – user3902302
Я не использую какие-либо блокировки, и таймер - это то, что я добавил, чтобы попытаться обойти проблему (очевидно, Excel не нравится, если вы слишком часто вызываете UpdateNotify(), поэтому я использую таймер для калибровки один раз в секунду. – user3902302