2013-09-24 3 views
0

client.cs
RemotingAppender remotingAppender = new RemotingAppender(); 
    remotingAppender.Sink = "tcp://localhost:15642/LoggingSinkInConsoleDaemon"; 
    remotingAppender.BufferSize = 1; 
    remotingAppender.ActivateOptions(); 
    BasicConfigurator.Configure(remotingAppender); 
    log.Info("everything is ok!"); 

server.cs
LogManager.GetRepository().PluginMap.Add(new Plugin.RemoteLoggingServerPlugin("LoggingSinkInConsoleDaemon")); 

client.exe войти в server.exe, все в порядке, и после выхода Client.exe, я использую Unlocker.exe (который может можно найти here), что client.exe заблокирован сервером.exe (это значит, что я еще не могу удалить client.exe, потому что он используется server.exe), я обнаруживаю ошибку, вызванную RemotingAppender, но я не знаю Не знаю, как решить.RemotingConfiguration заблокировать мой файл, как использовать RemotingAppender log4net?

Я думаю, что Remoting обрабатывает запрос RemotingAppender, и он заблокировал client.exe, как я могу освободить блокировку?

Обновление ================================================================================ =============

client.cs

var repo = LogManager.GetRepository(); 
    var app = repo.GetAppenders().Where(x => x.GetType() == typeof(RemotingAppender)).FirstOrDefault(); 
    var remotingAppender = app as RemotingAppender; 

    var root = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root; 
    var attachable = root as IAppenderAttachable; 
    attachable.RemoveAppender(remotingAppender); 

я пытался над ней работает, но я теряю журнал.

я искать источник, RemoveAppender удалить регистратор из списка, так что это не решает проблему

ответ

0

Я не уверен, что у всех, но вы пробовали remotingAppender.Close(); когда вы закончите с ним?

+0

нет, я попробовал, и он не работает – lsaturn

+0

и LogManager.Shutdown()? – maximbu

+0

пробовал, но нет .. – lsaturn

 Смежные вопросы

  • Нет связанных вопросов^_^