如何在WCF中使用静态对象
本文关键字:静态 对象 WCF | 更新日期: 2023-09-27 18:18:53
我正在实现一个Log4Net工具包
使用: private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public string MyFunc()
{
log4net.Config.XmlConfigurator.Configure();
log.Debug("function called on: " + DateTime.Now.ToShortDateString());
}
问题:
我总是需要调用: log4net.Config.XmlConfigurator.Configure();
在ASP。我只能在Session_Start事件中调用它一次,但是在WCF服务应用程序中该怎么做呢?
这取决于您的服务的InstanceContextMode和ConcurrencyMode。通常,WCF服务是无状态的(使用InstanceContextMode PerCall)。这将导致为每个调用创建一个新的服务对象,因此您必须为每个调用设置日志记录(例如在构造函数中)