동기화 중 비동기 방법 호출 [.net 4.5]

748 단어 .net
using System;

using System.Threading;

using System.Threading.Tasks;



namespace Microsoft.AspNet.Identity

{

    internal static class AsyncHelper

    {

        private static readonly TaskFactory _myTaskFactory = new TaskFactory(CancellationToken.None,

            TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default);



        public static TResult RunSync<TResult>(Func<Task<TResult>> func)

        {

            return _myTaskFactory.StartNew(func).Unwrap().GetAwaiter().GetResult();

        }



        public static void RunSync(Func<Task> func)

        {

            _myTaskFactory.StartNew(func).Unwrap().GetAwaiter().GetResult();

        }

    }

}

좋은 웹페이지 즐겨찾기