public void UpdateStateById(string UserKey, int Id, LotteryModel.NumCollectionState State, out ResponseStatus Type)
        {
            Type = ResponseStatus.ResponseSucceed;
            try
            {
                RunALotteryBLL bll = new RunALotteryBLL(UserKey);
                if (bll.UpdateNumCollectionState(Id, State) == false)
                {
                    throw new Exception();
                }
            }
            catch (Exception e)
            {
                Type = ExceptionCheck.CheckException(e);
            }
        }
这段代码是我这个项目的一个方法 几乎所有的WCF方法都是这种形式
第一个参数是个UserKey最后一个参数是out ResponseStatus 
我在catch块里头的CheckException中 想做异常信息的记录 并且对参数序列化 进行记录
有什么好的方法能够直接在CheckException中获取当前报错的方法和类名
以及所有的参数??
这个项目好多方法原来CheckException是这样写的
public void CheckException(Exception e,params object[] parameter);
这样写所有的方法我都要改
求好方法啊
我总感觉项目里的WCF方法都这样写一遍 这码农当的太操蛋了

解决方案 »

  1.   

    提供一种方法作为参考,就是建一个异常实体类,在出现异常的时候吧对象写入txt或者存入数据库。你可以在网上看看软件日志的实现 
      

  2.   

    你在实体类的里面可以定义的啊 ,这个是我项目中的代码比如:  public static string ClockAddscene = "网关{0}下,地址为{1},的{2},为周期为:{3}的时钟,添加场景,添加{4}";
      

  3.   

    1、全局按天捕捉异常类,并将异常信息插入相应数据库表或文本文件
    2、可能出现异常的地方 thorw 异常类就可以了
      

  4.   

    StackTrace得到堆栈信息,可以知道调用函数
      

  5.   

    我是想把所有的参数也保存了 比如我有两个方法
    public void SayHello(int n1,int n2);
    public void SayHello(int n1);
    我要的就是能够在这两个方法中都能够执行的
    而且是在上面的方法中能够保存n1,n2
    在下面的方法中恩那个狗保存n1
    到日志表里
      

  6.   

    版主来帮忙啊
    我是想把所有的参数也保存了 比如我有两个方法
    public void SayHello(int n1,int n2);
    public void SayHello(int n1);
    我要的就是能够在这两个方法中都能够执行的
    而且是在上面的方法中能够保存n1,n2
    在下面的方法中恩那个狗保存n1
    到日志表里