Итак, у меня есть служба Windows, работающая как локальная система.
затем эта служба Windows запускает службу WCF.
С моей машины проблем нет, все работает нормально.
Из тестового консольного приложения на целевой машине работает нормально
Из службы Windows на целевой машине не работает. И не выбрасывает исключения...
Я действительно застрял на этом. :(
Может это разрешения?
m_tknCancelToken = new CancellationTokenSource();
/**************************************************************************************/
/*** Create and start the task ***/
/**************************************************************************************/
m_tskService = Task.Factory.StartNew((object o) =>
{
RunService();
},
m_tknCancelToken);
/**************************************************************************************/
/*** Set the handler when the task is cancelled or faulted ***/
/**************************************************************************************/
m_tskService.ContinueWith(
TaskEndedHandler,
TaskContinuationOptions.OnlyOnFaulted);
m_tskService.ContinueWith(
TaskEndedHandler,
TaskContinuationOptions.OnlyOnCanceled);
а потом ловить ошибки.
private void TaskEndedHandler(Task tskTask)
{
Log.Log(String.Format("{0} has ended", ServiceName), "WHS010CI");
if (tskTask.Exception != null)
{
Log.LogEx(tskTask.Exception, "WHS0103E");
if (tskTask.Exception.InnerExceptions != null)
{
foreach (Exception ex in tskTask.Exception.InnerExceptions)
{
Log.LogEx(ex, "WHS0104E");
}
}
}
if(tskTask.IsCanceled)
{
Log.Log(String.Format("[{0}] has been cancelled", ServiceName), "WHS0104W");
}
}
catch
? Проверьте свой код хостинга на наличие операторовcatch
. Если это разрешения, вы получите исключение. Я бы сначала добавил ведение журнала и отметил блоки функциональности, а затем закрепил бы это построчными журналами трассировки. Или прикрепите отладчик, если можете. - person oleksii   schedule 29.08.2013