0
로컬 시스템으로 실행중인 Windows 서비스가 있습니다.Windows 서비스 내에서 WCF 서비스 호스팅. 연결할 수 없습니다.
이 Windows 서비스는 WCF 서비스를 시작합니다.
내 컴퓨터에서 아무 문제없이 잘 작동합니다.
테스트 콘솔 응용 프로그램에서 대상 컴퓨터에서 제대로 작동합니다.
대상 컴퓨터의 Windows 서비스에서 작동하지 않습니다. 또한 예외를 throw하지 않습니다 ...
나는 정말로 이것에 붙어 있습니다. :(
이 권한 수 있을까? 다음
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' 문에 대한 호스팅 코드를 확인하십시오. 권한이 있으면 예외가 발생합니다. 먼저 로깅을 추가하고 기능 블록을 체크 아웃 한 다음 줄 단위로 추적합니다 가능한 경우 디버거를 연결하십시오. – oleksii
불행히도 디버거를 연결할 수 없습니다. 내가 권한을 가지고 있지 않은 원격 컴퓨터에서 멈추었습니다 ... 정확히 ... 나는 예외를 잡는 방법에 대한 몇 가지 코드를 작성합니다. 귀하의 조언에 감사드립니다. –