Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Logger
- {
- private Task previousTask = Task.Run(() => Task.FromResult(true));
- private readonly object key = new object();
- public void Log(string message)
- {
- lock (key)
- {
- previousTask = previousTask.ContinueWith(t => ActuallyLog(message)
- , CancellationToken.None
- , TaskContinuationOptions.None
- , TaskScheduler.Default);
- }
- }
- private async Task ActuallyLog(string message)
- {
- System.Diagnostics.Debug.Print("Logger: thread {0}, {1}", Thread.CurrentThread.ManagedThreadId, message);
- await Task.Yield(); // SaveChangesAsync();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment