Как я могу использовать статические объекты в WCF? - PullRequest
0 голосов
/ 28 декабря 2011

Я реализую инструментарий 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.NET я могу вызвать это в событии Session_Start только один раз, но что делать в приложении службы WCF

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 28 декабря 2011

Это зависит от InstanceContextMode и ConcurrencyMode для вашего сервиса.Как правило, служба WCF не имеет состояния (используя InstanceContextMode PerCall).Это приводит к тому, что для каждого вызова создается новый объект службы, поэтому вам придется настраивать ведение журнала для каждого вызова (например, в конструкторе)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...