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