Windows 서비스에서 WCF를 실행하고 있습니다. 서비스가 시작되고 잘 실행됩니다. 서비스에 액세스하여 같은 컴퓨터에서 WCF 메서드를 호출 할 수 있습니다 (LocalHost를 wcf 서버 이름으로 사용). 그러나 최근 변경 후 다른 WCF 메서드 중 하나를 호출하려고하면 워크 스테이션 System.IO.FileNotFoundException 및 WCF 서비스가 작동하지 않습니다. 그 전에 그것은 잘 작동했다.WCF FileNotFoundException
wcf 서버의 응용 프로그램 로그에있는 오류는 다음과 같습니다.로드 할 수없는 파일에 대한 표시가 없습니다.
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name=".NET Runtime" />
<EventID Qualifiers="0">1026</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2014-12-29T18:33:27.000Z" />
<EventRecordID>3292</EventRecordID>
<Channel>Application</Channel>
<Computer>LASAPPTEST.rose.portland.local</Computer>
<Security />
</System>
- <EventData>
<Data>Application: CoP.Enterprise.ServiceHost.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info:
System.IO.FileNotFoundException Stack: at CoP.LAS.LASServiceHostProcessManager.StartProcess() 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()
</Data>
</EventData>
</Event>
아이디어? 이걸 디버깅하고 다음에 어디로 갈지 알아낼 방법이 있습니까? 어떤 파일을로드하려고합니까? @seymour에서 힌트
는 답을 찾았습니다 (SvcTraceViewer.exe를 이 (의 web.config에 다음을 추가 /의 app.config)을 WCF 추적 로그 기능<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "C:\LASServices\LAS\Logs\Traces.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
를 사용하여 WCF 추적 로그 뷰어를 사용하여)를 호출하여 FileNotFoundException에 대한 세부 정보를 읽습니다.
아, 지금까지 유용한 FNF 예외를 알려하지 않는 빌어 먹을 파일을 찾을 수 없습니다 것을. 글쎄, 나는 두 가지가 의심 스럽다. 어셈블리 나 파일을로드하려고 시도했거나 거기에 없거나 잠겨 있거나 찾지 않은 파일이다. StartProcess에서 파일을로드하려고합니까? 그렇다면 거기 있지 않으면 중지하십시오. 그렇지 않다면 융합 로거를 파열시키고 어셈블리로드 문제가 있는지 확인하십시오. – Will
WCF 추적 로그에 오류나 기타 관련 정보가 있습니다. 과거에는 추적 파일에서 서비스 시작 오류 정보를 발견했습니다. – Seymour
"최근 변경 후"무엇이 바뀌 었습니까? – khlr