Mercurial > pub > ImplabNet
view Implab.Playground/Program.cs @ 255:b00441e04738 v3
Adde workaround to the behaviour of the logical operations stack in conjuction
with async/await methods
author | cin |
---|---|
date | Wed, 04 Apr 2018 15:38:48 +0300 |
parents | 302ca905c19e |
children | 547a2fc0d93e |
line wrap: on
line source
using Implab.Diagnostics; using Implab.Formats.Json; using Implab.Parallels; using Implab.Xml; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Xml; using System.Xml.Serialization; namespace Implab.Playground { using System.Diagnostics; using System.Runtime.Remoting.Messaging; using static Trace<Program>; public class Program { static void Main(string[] args) { var listener = new SimpleTraceListener(Console.Out); var source = Trace<Program>.TraceSource; source.Switch.Level = SourceLevels.All; source.Listeners.Add(listener); var t = Environment.TickCount; Main().Wait(); Console.WriteLine($"Done: {Environment.TickCount - t} ms"); Console.ReadKey(); } static async Task Main() { using (LogicalOperation(nameof(Main))) { Log("Start"); await SomeAsync(); Log("End"); } } static async Task SomeAsync() { using (LogicalOperation(nameof(SomeAsync))) { Log("Do prepare"); await Task.Yield(); Log("Yield"); } } } }