2014-12-29 5 views
1

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에 대한 세부 정보를 읽습니다.

+0

아, 지금까지 유용한 FNF 예외를 알려하지 않는 빌어 먹을 파일을 찾을 수 없습니다 것을. 글쎄, 나는 두 가지가 의심 스럽다. 어셈블리 나 파일을로드하려고 시도했거나 거기에 없거나 잠겨 있거나 찾지 않은 파일이다. StartProcess에서 파일을로드하려고합니까? 그렇다면 거기 있지 않으면 중지하십시오. 그렇지 않다면 융합 로거를 파열시키고 어셈블리로드 문제가 있는지 확인하십시오. – Will

+1

WCF 추적 로그에 오류나 기타 관련 정보가 있습니다. 과거에는 추적 파일에서 서비스 시작 오류 정보를 발견했습니다. – Seymour

+0

"최근 변경 후"무엇이 바뀌 었습니까? – khlr

답변