通过回调方法收集统计数据

时间:2011-06-28 20:36:21

标签: c# oop

我想把“统计”从一个程序传递到另一个程序(我的第一个问题是how to pass some "statistics" from c# program to another program?) 要通过统计我首先需要收集它。 我已决定使用一种方法StatisticsStorage

实施中央存储,例如StatisticsStorage.joinStatistics(string groupName, string indicatorName, callback getValueMethod)

然后例如Thermometer类应该看起来像那样(伪代码):

class Thermometer {
    Thermometer(string installationPlace) {
        StatisticsStorage.joinStatistics("temperature", installationPlace, this.getThermometerValue);
    }
    callback double getThermometerValue {
        return this.thermometerValue;
    }
    private double thermometerValue;
    //.....
}

StatisticsStorage应定期为所有指标调用callBack方法。 收集统计数据后,我可以通过这种方式传递。

问题:

  • 你觉得我的做法有什么问题吗?
  • 如何在c#上实现回调更好? (我是c#的新手)

1 个答案:

答案 0 :(得分:0)

可能有很多方法可以达到你想要的结果。 我可能会发布一个WCF服务,可能托管在Windows服务中,你可以连接并发布统计数据。这样可以很好地分离系统问题,并可以从其他系统等中重复使用。 我想这取决于你想要的深度以及这种情况下的要求。

然后,我可能只是在分析你要做的事情:)