简体   繁体   English

C#:方法调用详细信息

[英]C#: Method Invocation Details

I have a website developed using C#. 我有一个使用C#开发的网站。 I want to see the caller of a method ie, which method/event handler calls my method. 我想查看一个方法的调用者,即哪个方法/事件处理程序调用了我的方法。

Suppose there is a button click. 假设有一个按钮单击。 I would like to see it as follows 我希望看到如下

btnClick  BusinessLayerClass.SaveDocs(int docID, string docType) DataAccessLayerClass.Update()

btnClick  BusinessLayerClass.SaveDocs(int docID, string docType) DataAccessLayerClass.Increase()

Is it possible to see such a stack information? 有可能看到这样的堆栈信息吗? Please advise.. 请指教..

Note : All projects are added as dlls. 注意 :所有项目都将添加为dll。 There is no services like WCF. 没有像WCF这样的服务。

System.Environment.StackTrace can be used 可以使用System.Environment.StackTrace

private void button1_Click(object sender, EventArgs e)
    {
                StackTrace st = new StackTrace(true);
        StackFrame[] fram = st.GetFrames();

        foreach (StackFrame sf in fram)
        {
            sf.GetFileColumnNumber();
            sf.GetFileLineNumber();
            sf.GetFileName();
            sf.GetILOffset();
            sf.GetMethod();

        }
    }  

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM