你可以打開WCF日誌記錄,這將幫助你找到問題的根本。
在您的服務配置文件中,添加以下部分。這將設置2個聽衆。他們目前設置爲只記錄錯誤,但您可以更改switchValue
的值以記錄更多。
您還需要更改將創建日誌的路徑(initializeData
屬性)。該服務的工作進程需要具有對該路徑的寫入訪問權限。
<system.diagnostics>
<!--set autoflush to false to increase performance -->
<trace autoflush="true"/>
<sources>
<!-- message logging -->
<source name="System.ServiceModel.MessageLogging" logKnownPii="false" switchValue="Error">
<listeners>
<add name="ServiceModelMessageLoggingListener">
<filter type=""/>
</add>
</listeners>
</source>
<!--service model tracing-->
<source name="System.ServiceModel" switchValue="Error" propagateActivity="true">
<listeners>
<add name="ServiceModelTraceListener"/>
</listeners>
</source>
</sources>
<!-- worker process account needs write access to the configured tracing directories -->
<sharedListeners>
<add name="ServiceModelMessageLoggingListener" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\messages.svclog" traceOutputOptions="Timestamp">
<filter type=""/>
</add>
<add name="ServiceModelTraceListener" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\trace.svclog" traceOutputOptions="Timestamp">
<filter type=""/>
</add>
</sharedListeners>
</system.diagnostics>
查看更多MSDN。
爲什麼你不能在本地運行它,並通過調試器遵循它的任何原因? – Jason
如果它真的是一個簡單的應用程序,切換到ASP.NET Web API,您可以輕鬆地進行調試。 Web API本身是開源的,調試它比WCF容易得多。 –
@LexLi我不能,這是我的大學項目。我們必須使用WCF。 – Nikola