WCF FileNotFoundException

Я запускаю WCF внутри службы Windows. Служба запускается и работает нормально, и я могу получить доступ к службе и вызывать методы WCF с той же машины (используя LocalHost в качестве имени сервера wcf), но после недавнего изменения, когда я пытаюсь вызвать один из методов WCF из другого рабочая станция Я получаю System.IO.FileNotFoundException и WCF Service аварийно завершает работу. До этого все работало нормально.

Ошибка в журнале приложений на сервере 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 НАЙДИТЕ ОТВЕТ: используйте функцию журнала трассировки Wcf (добавьте следующее в web.config / app.config)

<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 Trace Log Viewer (SvcTraceViewer.exe), чтобы прочитать подробности об исключении FileNotFoundException.

1 ответ

Решение

Мы нашли один способ помочь определить основную причину проблем запуска узла службы WCF, таких как FileNotFoundException, чтобы включить трассировку WCF. Часто журнал трассировки WCF выявляет проблемы, которые ранее были "скрыты".

http://msdn.microsoft.com/en-us/library/ms733025(v=vs.110).aspx

Другие вопросы по тегам