示例#1
0
        public EventsLog()
        {
            EventLog sample = new EventLog();

            EventLogEntryCollection myCollection = sample.Entries;

            foreach (EventLogEntry ele in myCollection)
            {
                EventLogTraceListener e = new EventLogTraceListener();

                Console.WriteLine("Category:" + ele.Category);
                Console.WriteLine("CategoryNumber:" + ele.CategoryNumber);
                Console.WriteLine("Data:" + Encoding.Default.GetString(ele.Data));
                Console.WriteLine("EntryType:" + ele.EntryType);
                Console.WriteLine("Message:" + ele.Message);

                Console.WriteLine("Source:" + ele.Source);
                Console.WriteLine("InstanceId:" + ele.InstanceId);
                Console.WriteLine("MachineName:" + ele.MachineName);

                Console.WriteLine("Source:" + ele.Source);
                Console.WriteLine("TimeGenerated:" + ele.TimeGenerated);
                Console.WriteLine("UserName:" + ele.UserName);

                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
            }
        }
 public ErrorEventLogTraceListener(string source)
 {
     _listener = new EventLogTraceListener(source)
     {
         Filter = new EventTypeFilter(SourceLevels.Error),
     };
 }
示例#3
0
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        private static void Main(string [] args)
        {
            var service = new RRLightService();

            if (Environment.UserInteractive)
            {
                // Application runs as an independent program (e.g. from console), but not as Windows service.

                // As this project uses Windows Form application as the base, it cannot run as console application.
                // Instead, all messages will be redirected to log file in "Logs" subcirectory.
                DirectoryInfo currentDirectory = new DirectoryInfo(Directory.GetCurrentDirectory());
                DirectoryInfo logsDirectory    = currentDirectory.CreateSubdirectory("Logs");
                var           listner          = new TextWriterTraceListener(
                    Path.Combine(logsDirectory.FullName, string.Format("RRLightServiceDebug-{0:yy-MM-dd-HH-mm}.log", DateTime.UtcNow)));
                listner.TraceOutputOptions |= TraceOptions.DateTime;
                Trace.Listeners.Add(listner);
                Trace.AutoFlush = true;

                // Always enable verbose trace.
                TraceVerbose.Enabled = true;

                service.ManualRun();
            }
            else
            {
                // Send trace messages to Event Log.
                var listner = new EventLogTraceListener("PanoptoRRLightService");
                Trace.Listeners.Add(listner);

                // Enable verbose trace if config is set.
                TraceVerbose.Enabled = Properties.Settings.Default.EnableVerboseTrace;

                ServiceBase.Run(new ServiceBase[] { service });
            }
        }
示例#4
0
        /// Main program for Assimilation Project network discovery for Windows
        static void Main(string[] args)
        {
            mySource.Switch = new SourceSwitch("netconfig", "Error");
            mySource.Listeners.Remove("Default");
            EventLogTraceListener evl = new EventLogTraceListener("netconfig");

            //Off, Critical, Error,	Warning, Information, Verbose, ActivityTracing,	All
            evl.Filter = new EventTypeFilter(SourceLevels.All);

            mySource.Listeners.Add(evl);

            Trace.WriteLine("start netconfig");

            // build the json output string
            String jout = NetworkExplorer();

            // add the final brace
            jout += "}";

            // send to our stdout
            System.Console.WriteLine(jout);

            Trace.WriteLine("end   netconfig");
            mySource.Close();
        }
示例#5
0
        private TraceListener CreateListener(string listenerName, string typeString)
        {
            TraceListener retVal = null;

            try
            {
                nHydrateLog.LogVerbose("CreateListener(string listenerName:{0}, string typeString:{1})", listenerName, typeString);

                if (typeString == ("System.Diagnostics.DefaultTraceListener"))
                {
                    retVal = new DefaultTraceListener();
                }
                else if (typeString == ("System.Diagnostics.EventLogTraceListener"))
                {
                    retVal = new EventLogTraceListener();
                }
                else
                {
                    retVal = (TraceListener)ReflectionHelper.CreateInstance(Type.GetType(typeString));
                }

                if (retVal != null)
                {
                    retVal.Name = listenerName;
                }
                else
                {
                    throw new nHydrate.Generator.Common.Exceptions.nHydrateException(String.Format("Could not create listener - listenerName:{0}- typeString:{1})", listenerName, typeString));
                }
            }
            catch { }
            return(retVal);
        }
示例#6
0
        // Ensure there is at least one useful listener
        private static void CheckListeners(string traceClass)
        {
            Initialized = true;
            foreach (TraceListener traceListener in Trace.Listeners)
            {
                if ((traceListener is TextWriterTraceListener) || (traceListener is LogWriterTraceListener))
                {
                    TraceInformation("Working listener called " + traceListener.Name);
                    return;
                }
            }
            string        path = GetDefaultLogFileLocation();
            TraceListener listener;

            if (path != null)
            {
                string logfile = Path.Combine(path, traceClass + ".log");
                listener = new TextWriterTraceListener(logfile);
                TraceInformation("Added listener writing to " + logfile);
            }
            else
            {
                listener        = new EventLogTraceListener(traceClass);
                listener.Filter = new ErrorsOnlyFilter();
                TraceInformation("Added listener writing to event log");
            }
            Trace.Listeners.Add(listener);
            Trace.AutoFlush = true;
        }
示例#7
0
        public TraceWorker()
        {
            // simple trace listeners
            TraceListener tlConsole = new ConsoleTraceListener();

            tlConsole.Filter = new EventTypeFilter(SourceLevels.All);

            // trace listener - file in solution folder
            TraceListener tlFile = new TextWriterTraceListener(new StreamWriter("ClassDemoLogFile.txt"));

            tlFile.Filter = new EventTypeFilter(SourceLevels.Warning);

            // trace listener - file in solution folder
            TraceListener tlXmlFile = new XmlWriterTraceListener(new StreamWriter("ClassDemoLogFile.xml"));

            tlXmlFile.Filter = new EventTypeFilter(SourceLevels.Warning);

            // This is deprecated in .Net Core does only exists by download a nuget packet 'Microsoft.Extensions.Logging.EventLog'
            //trace listener - windows event log
            TraceListener tlEventLog = new EventLogTraceListener("MyTrace");

            tlEventLog.Filter = new EventTypeFilter(SourceLevels.Error);

            // My own trace listener
            tlOwn        = new MyOwnTraceListener();
            tlOwn.Filter = new EventTypeFilter(SourceLevels.All);

            Trace.Listeners.Add(tlConsole);
            Trace.Listeners.Add(tlFile);
            Trace.Listeners.Add(tlXmlFile);
            Trace.Listeners.Add(tlEventLog);
            Trace.Listeners.Add(tlOwn);
        }
        public void TraceEventTest(TraceEventType eventType, EventLogEntryType expectedType, int id, int expectedId)
        {
            string log    = "TraceEvent";
            string source = "Source" + nameof(TraceEventTest);

            try
            {
                EventLog.CreateEventSource(source, log);
                using (var listener = new EventLogTraceListener(source))
                {
                    string message = "One simple message to trace";
                    listener.TraceEvent(null, source, eventType, id, message);
                    EventLogEntry eventLogEntry = ValidateLastEntryMessage(listener, message, source);

                    if (eventLogEntry != null)
                    {
                        Assert.Equal(expectedType, eventLogEntry.EntryType);
                        Assert.Equal(expectedId, eventLogEntry.InstanceId);
                    }
                }
            }
            finally
            {
                EventLog.DeleteEventSource(source);
                Helpers.RetryOnWin7(() => EventLog.Delete(log));
            }
        }
 public AddinTraceListener(EventLogTraceListener innerLog)
 {
     this.ApplicationName = defaultApplicationName;
     InitializeEventLog(this.ApplicationName);
     this.innerEventLog = innerLog;
     LoggingLevel       = EventLoggingLevel.LOGGING_LEVEL_ERROR_MESSAGES;
 }
 public void EventLogConstructor(EventLog eventLog, string expected)
 {
     using (var listener = new EventLogTraceListener(eventLog))
     {
         Assert.Equal(expected, listener.Name);
     }
 }
        string _machineName = ".";// . means local machine

        public TraceNLog()
        {
            //Creation of log
            if (!EventLog.SourceExists(_sourceName, _machineName))
            {
                EventLog.CreateEventSource(_sourceName, _logName);//EventLog created
            }
            //Specifing created log (target)
            EventLog log = new EventLog();

            log.Source      = _sourceName;
            log.Log         = _logName;
            log.MachineName = _machineName;

            _eventLogTraceListener = new EventLogTraceListener();
            //specify the target to listener
            _eventLogTraceListener.EventLog = log;


            _traceSource = new TraceSource("TraceSource", SourceLevels.All);
            _traceSource.Listeners.Clear();
            _traceSource.Listeners.Add(_eventLogTraceListener);
            Trace.Listeners.Clear();
            Trace.Listeners.Add(_eventLogTraceListener);

            TraceSource.TraceInformation("Successfully initialize TraceSource and EventLogTraceListener object..");
            TraceSource.Flush();//flush the buffers
        }
        public void WriteTest()
        {
            string log    = "Write";
            string source = "Source" + nameof(WriteTest);

            try
            {
                EventLog.CreateEventSource(source, log);
                using (var listener = new EventLogTraceListener(source))
                {
                    string message = "A little message for the log";
                    Helpers.RetryOnWin7(() => listener.Write(message));
                    ValidateLastEntryMessage(listener, message, source);

                    message = "One more message for my friend";
                    Helpers.RetryOnWin7(() => listener.WriteLine(message));
                    ValidateLastEntryMessage(listener, message, source);
                }
            }
            finally
            {
                EventLog.DeleteEventSource(source);
                Helpers.RetryOnWin7(() => EventLog.Delete(log));
            }
        }
示例#13
0
        static void Main(string[] args)
        {
            string sourceName  = "Sample Log";
            string logName     = "Application";
            string machineName = ".";// . means local machine

            //Creation of log
            if (!EventLog.SourceExists(sourceName, machineName))
            {
                EventLog.CreateEventSource(sourceName, logName);//EventLog created
            }

            //Specifing created log (target)
            EventLog log = new EventLog(logName, machineName, sourceName);

            //specify the EventLog trace listener
            using (var eventLog_listener = new EventLogTraceListener())
            {
                //specify the target to listener
                eventLog_listener.EventLog = log;
                eventLog_listener.Name     = "eventLog_listener";

                //specifing the Trace class, just to trace information
                TraceSource trace = new TraceSource("eventLog_SampleSource", SourceLevels.Information);
                //Clearing default listener
                trace.Listeners.Clear();
                //assigning new listener
                trace.Listeners.Add(eventLog_listener);
                //Start tracing

                // Test the filter on the ConsoleTraceListener.
                // Como foi setado na configuração do TraveSource  SourceLevels.Information
                // deveria bloquear a saída do TraceData....o que não ocorre
                trace.Listeners["eventLog_listener"].Filter = new SourceFilter("No match");
                trace.TraceData(TraceEventType.Error, 5,
                                "\nSourceFilter should reject this message for the eventLog trace listener.");
                trace.Listeners["eventLog_listener"].Filter = new SourceFilter("eventLog_SampleSource");
                trace.TraceData(TraceEventType.Error, 6,
                                "\nSourceFilter should let this message through on the eventLog trace listener.");

                trace.TraceInformation("Tracing start to Event Log");
                trace.Flush();
                trace.Close();
            }

            Console.WriteLine("Total entries: " + log.Entries.Count);
            EventLogEntry last = log.Entries[log.Entries.Count - 1];//last(latest) log com nome "Sample Log"

            Console.WriteLine("Index: " + last.Index);
            Console.WriteLine("Source: " + last.Source);
            Console.WriteLine("Type: " + last.EntryType);
            Console.WriteLine("Time: " + last.TimeWritten);
            Console.WriteLine("Message: " + last.Message);
            Console.WriteLine("Machine Name: " + last.MachineName);
            Console.WriteLine("Category: " + last.Category);

            Console.ReadKey();
        }
示例#14
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            // add a listener
            EventLogTraceListener logListener =
                new EventLogTraceListener("Application");

            Trace.Listeners.Add(logListener);
            TraceSwitch traceSwitch = new TraceSwitch("General", ("Font Replacer Supervisor"));

            traceSwitch.Level = TraceLevel.Verbose;

            // access the current document
            Document doc = commandData.Application.ActiveUIDocument.Document;

            try
            {
                // generate and show a selection dialog box
                SelectFontWindow fontWindow = new SelectFontWindow();
                fontWindow.ShowDialog();

                // get the selected font
                Font newFont = fontWindow.PickedFont;
                if (newFont == null) // if no font has been picked, an empty string is returned.
                {
                    return(Result.Cancelled);
                }

                if (fontWindow.TextNoteTypes)
                {
                    FontReplacer.ReplaceFontInTextNotes(doc, newFont);
                }
                if (fontWindow.DimensionTypes)
                {
                    FontReplacer.ReplaceFontInDimTypes(doc, newFont);
                }
                if (fontWindow.Families)
                {
                    FontReplacer.ReplaceFontInFamilies(doc, newFont);
                }

                return(Result.Succeeded);
            }
            catch (Exception ex)
            {
                Trace.WriteIf(traceSwitch.TraceError,
                              string.Format("Message:{0}\nStackTrack:{1}",
                                            ex.Message, ex.StackTrace));
                TaskDialog.Show("Exception", ex.Message);
                return(Result.Failed);
            }
            finally
            {
                Trace.WriteIf(traceSwitch.TraceVerbose,
                              FontReplacer.ProcessedFamilies);
                Trace.Flush();
                Trace.Close();
            }
        }
        public void NamePropertyGetWithoutSet()
        {
            string source = "Source is my name";

            using (var listener = new EventLogTraceListener(source))
            {
                Assert.Equal(source, listener.Name);
            }
        }
        public void StringConstructor()
        {
            string source = "CustomSource";

            using (var listener = new EventLogTraceListener(source))
            {
                Assert.Equal(source, listener.EventLog.Source);
            }
        }
        public void TraceEventFormatAndParams(string format, object[] parameters)
        {
            string log    = "TraceEvent";
            string source = "Source" + nameof(TraceEventFormatAndParams);

            try
            {
                EventLog.CreateEventSource(source, log);
                using (var listener = new EventLogTraceListener(source))
                {
                    listener.TraceEvent(null, source, TraceEventType.Information, 1000, format, parameters);

                    if (parameters == null || parameters.Length == 0)
                    {
                        string[] messages;
                        if (string.IsNullOrEmpty(format))
                        {
                            messages = Array.Empty <string>();
                        }
                        else
                        {
                            messages = new string[] { format }
                        };

                        EventLogEntry eventLogEntry = listener.EventLog.Entries.LastOrDefault();
                        if (eventLogEntry != null)
                        {
                            Assert.All(messages, message => eventLogEntry.Message.Contains(message));
                        }
                    }
                    else if (string.IsNullOrEmpty(format))
                    {
                        string[] messages = new string[parameters.Length];
                        for (int i = 0; i < messages.Length; i++)
                        {
                            messages[i] = parameters[i].ToString();
                        }

                        EventLogEntry eventLogEntry = listener.EventLog.Entries.LastOrDefault();
                        if (eventLogEntry != null)
                        {
                            Assert.All(messages, message => eventLogEntry.Message.Contains(message));
                        }
                    }
                    else
                    {
                        string expectedMessage = string.Format(CultureInfo.InvariantCulture, format, parameters);
                        ValidateLastEntryMessage(listener, expectedMessage, source);
                    }
                }
            }
            finally
            {
                EventLog.DeleteEventSource(source);
                Helpers.RetryOnWin7(() => EventLog.Delete(log));
            }
        }
示例#18
0
        private void button1_Click(object sender, EventArgs e)
        {
            var eLog = new EventLogTraceListener("Debug347");

            Debug.Listeners.Add(eLog); // 出力先を追加する
            Debug.WriteLine("button1がクリックされました。");
            Debug.Flush();
            MessageBox.Show("イベントログに出力しました。", "通知");
        }
示例#19
0
        static void Main(string[] args)
        {
            //You can change the listener with the following code
            EventLogTraceListener EventListener = new EventLogTraceListener("MyApp");

            Trace.Listeners.Add(EventListener);

            Trace.WriteLine("My Trace String To Console");
        }
示例#20
0
        static async Task Main(string[] args)
        {
            if (CinemaPerformance.ConfigurarCategoria())
            {
                return;
            }

            CinemaPerformance.CriarContadores();

            TraceListener traceListener = new EventLogTraceListener("Cinema");

            Trace.Listeners.Add(traceListener);

            Trace.AutoFlush = true;

            TraceSource traceSource = new TraceSource("Cinema", SourceLevels.All);

            traceSource.Listeners.Add(traceListener);

            traceSource.TraceEvent(TraceEventType.Information, 1001, "A aplicação iniciou.");

            CinemaDB cinemaDB = await CriarBanco();

            while (true)
            {
                await GerarRelatorio(cinemaDB);
            }
            //traceListener.Flush();

            Console.CancelKeyPress += (source, e) =>
            {
                traceSource.TraceEvent(TraceEventType.Warning, 1003, "Control + C foi acionado");
                e.Cancel = true;
            };

            Console.ReadLine();

            traceSource.TraceEvent(TraceEventType.Information, 1002, "A aplicação terminou.");

            if (!EventLog.SourceExists("MinhaFonte"))
            {
                EventLog.CreateEventSource("MinhaFonte", "Application");
            }
            EventLog eventLog = new EventLog();

            eventLog.Source = "MinhaFonte";
            eventLog.WriteEntry("A aplicação terminou.", EventLogEntryType.Information, 1002);

            foreach (EventLogEntry entrada in eventLog.Entries)
            {
                Console.WriteLine($"Fonte: {entrada.Source}\nTipo: {entrada.EntryType}\nHora: {entrada.TimeWritten}\nMensagem: {entrada.Message}\n");
            }

            eventLog.Close();
            Console.ReadLine();
        }
示例#21
0
        static void Main(string[] args)
        {
            EventLog myLog = new EventLog("X", "localhost", "Demo");

            Trace.AutoFlush = true;
            using (EventLogTraceListener myListener = new EventLogTraceListener(myLog))
            {
            }
            Trace.WriteLine("This is a test");
        }
示例#22
0
// <Snippet1>
    public static void Main(string[] args)
    {
        // Create a trace listener for the event log.
        EventLogTraceListener myTraceListener = new EventLogTraceListener("myEventLogSource");

        // Add the event log trace listener to the collection.
        Trace.Listeners.Add(myTraceListener);

        // Write output to the event log.
        Trace.WriteLine("Test output");
    }
示例#23
0
        public PowerShellManagementAgent()
        {
            Tracer.IndentLevel = 0;
            Tracer.Enter("initialize");
            Tracer.Indent();
            try
            {
                Tracer.TraceInformation("memory-usage {0:n} Mb", GC.GetTotalMemory(true) / 102400);
                System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
                FileVersionInfo            fvi      = FileVersionInfo.GetVersionInfo(assembly.Location);
                string version = fvi.FileVersion;
                Tracer.TraceInformation("psma-version {0}", version);
                Tracer.TraceInformation("reading-registry-settings");
                RegistryKey machineRegistry = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
                RegistryKey mreRootKey      = machineRegistry.OpenSubKey(@"SOFTWARE\Granfeldt\FIM\ManagementAgents\PowerShell", false);

                if (mreRootKey != null)
                {
                    Tracer.TraceInformation("adding-eventlog-listener-for name: {0}, source: {1}", EventLogName, EventLogSource);
                    EventLog evl = new EventLog(EventLogName);
                    evl.Log    = EventLogName;
                    evl.Source = EventLogSource;

                    EventLogTraceListener eventLog = new EventLogTraceListener(EventLogSource);
                    eventLog.EventLog = evl;
                    EventTypeFilter filter = new EventTypeFilter(SourceLevels.Warning | SourceLevels.Error | SourceLevels.Critical);
                    eventLog.TraceOutputOptions = TraceOptions.Callstack;
                    eventLog.Filter             = filter;
                    Tracer.Trace.Listeners.Add(eventLog);
                    if (!EventLog.SourceExists(EventLogSource))
                    {
                        Tracer.TraceInformation("creating-eventlog-source '{0}'", EventLogSource);
                        EventLog.CreateEventSource(EventLogSource, EventLogName);
                    }

                    string logFileValue = mreRootKey.GetValue("DebugLogFileName", null) as string;
                    if (logFileValue != null)
                    {
                        Tracer.TraceWarning("Logging to file is no longer supported. Please remove registrykey DebugLogFileName and use DebugView or similar instead to catch traces from this Management Agent");
                    }
                }
            }
            catch (Exception ex)
            {
                Tracer.TraceError("could-not-initialize", ex);
                throw;
            }
            finally
            {
                Tracer.Unindent();
                Tracer.Exit("initialize");
            }
        }
示例#24
0
文件: Logger.cs 项目: jajanuj/GitTest
        /// <summary>
        /// 結束此處理序,將記錄項目寫入到 Windows 應用程式事件記錄檔中
        /// </summary>
        /// <param key="messge"></param>
        public static void FailFast(string source, string messge)
        {
            //System.Environment.FailFast(messge);

            EventLogTraceListener myTraceListener = new EventLogTraceListener(source);

            // Add the event log trace listener to the collection.
            System.Diagnostics.Trace.Listeners.Add(myTraceListener);

            // Write output to the event log.
            System.Diagnostics.Trace.WriteLine(messge);
        }
        public void NamePropertyGetMultipleTimesShouldNotChange()
        {
            string source = "Source multiple times";

            using (var listener = new EventLogTraceListener(source))
            {
                Assert.Equal(source, listener.Name);
                listener.EventLog.Source = "New source";
                Assert.NotEqual("New source", listener.Name);
                Assert.NotEqual(listener.EventLog.Source, listener.Name);
                Assert.Equal(source, listener.Name);
            }
        }
        private EventLogEntry ValidateLastEntryMessage(EventLogTraceListener listener, string message, string source)
        {
            EventLogEntry eventLogEntry = listener.EventLog.Entries.LastOrDefault();

            if (eventLogEntry != null)
            {
                Assert.Contains(message, eventLogEntry.Message);
                Assert.Equal(source, eventLogEntry.Source);
                Assert.StartsWith(Environment.MachineName.ToLowerInvariant(), eventLogEntry.MachineName.ToLowerInvariant());
            }

            return(eventLogEntry);
        }
示例#27
0
        static void Main(string[] args)
        {
            EventLogTraceListener logTrace = new EventLogTraceListener("MyTrace");

            Trace.Listeners.Add(logTrace);
            Trace.Listeners.Add(new ConsoleTraceListener());

            Trace.TraceError("Dette er en fejl");

            Trace.Close();
            Console.WriteLine("S**t");
            Console.ReadLine();
        }
示例#28
0
        static void Main00()
        {
            //Create a trace listener for the event log
            EventLogTraceListener eltl = new EventLogTraceListener("TraceLog");

            //Add the event log trace listener to the collection

            Trace.Listeners.Add(eltl);
            //Remove the default listener
            //Trace.Listeners.Add(eltl);
            //Write output to the event log
            Trace.WriteLine("Entered in Main()");
        }
示例#29
0
    public static void Initialise(
        bool verboseLog,
        string generalLogPath,
        string diagnositicLogPath)
    {
        _verboseLog         = verboseLog;
        _generalLogPath     = generalLogPath;
        _diagnositicLogPath = diagnositicLogPath;

        //verbose logs
        if (verboseLog)
        {
            //trace source object
            _ts = new TraceSource("myTraceSource");
            DelimitedListTraceListener dt = null;
            EventLogTraceListener      et = null;

            try
            {
                // set the log file
                using (File.Create(_generalLogPath));

                //listeners
                dt = new DelimitedListTraceListener(_diagnositicLogPath);
                et = new EventLogTraceListener("myappp");
            }
            catch (Exception e)
            {
                Console.Error.Write("Invalid configurations!");
                Console.ReadKey();
                System.Environment.Exit(1);
            }

            //configure
            _ts.Switch       = new SourceSwitch("mySwitch");
            _ts.Switch.Level = SourceLevels.Warning;

            //configure
            dt.Delimiter          = "|";
            dt.TraceOutputOptions = TraceOptions.DateTime | TraceOptions.Timestamp | TraceOptions.Callstack;

            //Adding the trace listeners
            _ts.Listeners.Clear();
            _ts.Listeners.Add(dt);
            _ts.Listeners.Add(et);

            //setting autoflush to save automatically
            Trace.AutoFlush = true;
            _ts.Flush();
        }
    }
示例#30
0
        // 有关配置身份验证的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=301864
        public void ConfigureAuth(IAppBuilder app)
        {
            // 将数据库上下文和用户管理器配置为对每个请求使用单个实例
            app.CreatePerOwinContext(ApplicationDbContext.Create);
            app.CreatePerOwinContext <ApplicationUserManager>(ApplicationUserManager.Create);

            // 使应用程序可以使用 Cookie 来存储已登录用户的信息
            // 并使用 Cookie 来临时存储有关使用第三方登录提供程序登录的用户的信息
            app.UseCookieAuthentication(new CookieAuthenticationOptions());
            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

            // 针对基于 OAuth 的流配置应用程序
            PublicClientId = "self";
            OAuthOptions   = new OAuthAuthorizationServerOptions
            {
                TokenEndpointPath         = new PathString("/Token"),
                Provider                  = new ApplicationOAuthProvider(PublicClientId),
                AuthorizeEndpointPath     = new PathString("/api/Account/ExternalLogin"),
                AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
                //在生产模式下设 AllowInsecureHttp = false
                AllowInsecureHttp = true
            };

            // 使应用程序可以使用不记名令牌来验证用户身份
            app.UseOAuthBearerTokens(OAuthOptions);

            // 取消注释以下行可允许使用第三方登录提供程序登录
            //app.UseMicrosoftAccountAuthentication(
            //    clientId: "",
            //    clientSecret: "");

            //app.UseTwitterAuthentication(
            //    consumerKey: "",
            //    consumerSecret: "");

            //app.UseFacebookAuthentication(
            //    appId: "",
            //    appSecret: "");

            //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
            //{
            //    ClientId = "",
            //    ClientSecret = ""
            //});
            // Create a trace listener for the event log.
            EventLogTraceListener myTraceListener = new EventLogTraceListener("CnMedicineServer");

            // Add the event log trace listener to the collection.
            Trace.Listeners.Add(myTraceListener);
            Trace.TraceInformation("CnMedicineServer启动");
        }