如果你試圖診斷WCF的問題,你可以使用內置的WCF跟蹤功能,這是我們發現這個不可缺少的。要做到這一點(在IIS託管假設WCF),添加以下的web.config:
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\log\WebTrace.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
如果你正在調試,並有VS旗艦版2010,您還可以使用IntelliTrace。
最後,如果您只是想跟蹤發生的異常的來源,那麼在異常中轉儲StackTrace將顯示錯誤的來源,假定WCF服務調用是鏈中唯一包含異常處理程序。我們的開發實踐要求,除非有特殊的記錄情況,否則只有最外層的調用(即WCF服務條目)將包含異常處理程序。這大大減少了診斷和修復錯誤所需的時間。
更新
看來,System.Runtime.Reflection.GetCurrentMethod可以提供你正在尋找的信息。
看看這裏:http://stackoverflow.com/questions/280413/c-sharp-how-do-you-find-the-caller-function – Samich
你如何訪問該堆棧跟蹤輸出它? –
我正在使用此代碼來獲取最近的方法調用。 StackTrace stackTrace = new StackTrace(); _callingFunction = stackTrace.GetFrame(0).GetMethod()。Name; – CSharpened