Пример #1
0
 public MakeInactiveUsersPassiveWorker(AbpTimer timer, IRepository <User, long> userRepository, ImpersonationManager impersonationManager)
     : base(timer)
 {
     _userRepository       = userRepository;
     Timer.Period          = 5000; //5秒(适合测试,但一般情况下会多一些)
     _impersonationManager = impersonationManager;
 }
Пример #2
0
        static void ThreadProc(Object stateInfo)
        {
            var destination = stateInfo as string;

            var identity = WindowsIdentity.GetCurrent();

            while (true)
            {
                Console.WriteLine("Run");
                PrintIdentity("Thread", identity);
                //Using the ImpersonationManager
                using (var impersonationNative = new ImpersonationManager())
                {
                    impersonationNative.ImpersonateByProcessId(5280);
                    identity = WindowsIdentity.GetCurrent();
                    PrintIdentity("Thread", identity);
                    ReadFiles(destination);
                }
                Thread.Sleep(1000);
                identity = WindowsIdentity.GetCurrent();
                PrintIdentity("Thread", identity);
            }
        }