satti_ananthreddy Ответов: 0

Sessionchangereason.remotedisc...


Hi Every one,

I have developed a windows application in which i am capturing the windows events like lock,unlock, logon,disconnect etc.

I have written the following code in windows service for capturing the events as they occured.

protected override void OnSessionChange(SessionChangeDescription changeDescription)
       {
           string pcName = Environment.MachineName.ToUpper();
          System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
               System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "MMM dd yyyy";
               System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern = "hh:mm:ss tt";
               System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.DateSeparator = "/";
               switch (changeDescription.Reason)
               {

                   case SessionChangeReason.SessionLock:
                       Idlog("4800");
                       Eventlogs(pcName, "4800", "System locked", DateTime.Now);
                       break;
                   case SessionChangeReason.SessionLogoff:
                       Eventlogs(pcName, "4647", "System logoff", DateTime.Now);
                       break;
                   case SessionChangeReason.SessionLogon:
                       Idlog("4624");
                       Eventlogs(pcName, "4624", "System logon", DateTime.Now);
                       break;
                   case SessionChangeReason.SessionUnlock:
                       Idlog("4801");
                       Eventlogs(pcName, "4801", "System Unlocked", DateTime.Now);
                       break;
                   case SessionChangeReason.RemoteDisconnect:
                       Eventlogs(pcName, "4779", "Session disconnected", DateTime.Now);
                       break;
                   case SessionChangeReason.RemoteConnect:
                       //LogEntry("Remote connect at {0}=" + DateTime.Now.AddMilliseconds(DateTime.Now.Millisecond));
                       Idlog("4778");
                       Eventlogs(pcName, "4778", "Session reconnected", DateTime.Now);
                       break;
                   case SessionChangeReason.ConsoleConnect:
                       // LogEntry("console connect at {0}=" + DateTime.Now.AddMilliseconds(DateTime.Now.Millisecond));
                       Idlog("4778");
                       Eventlogs(pcName, "4778", "Session c reconnected", DateTime.Now);
                       break;
                   case SessionChangeReason.ConsoleDisconnect:
                       //LogEntry("console disconnect at {0}=" + DateTime.Now.AddMilliseconds(DateTime.Now.Millisecond));
                       Eventlogs(pcName, "4779", "Session c disconnecetd", DateTime.Now);
                       break;
                   default:
                       break;

               }
           //}
       }


Цитата:
Все работает нормально, но

SessionChangeReason.RemoteConnect и SessionChangeReason.RemoteDisconnect запускаются два раза всегда, когда я выполняю разъединение и повторное подключение

а порядок такой


Сообщение
Сеанс отключен
Сеанс восстановлен
Сеанс отключен
Сеанс восстановлен
Таким образом, для двух событий я получаю четыре результата.

Кто-нибудь может мне помочь, почему это происходит?

заранее спасибо


Что я уже пробовал:

Не удалось найти первопричину этого события

satti_ananthreddy

может ли какой-нибудь орган, пожалуйста, помочь мне с моим вопросом, он очень срочный

0 Ответов