Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core ASP.NET Core 1.0 SynchronizationContext_Asp.net Core - Fatal编程技术网

Asp.net core ASP.NET Core 1.0 SynchronizationContext

Asp.net core ASP.NET Core 1.0 SynchronizationContext,asp.net-core,Asp.net Core,ASP.NET Core 1.0网站中的SynchronizationContext是否为空? 此代码在我的系统上引发异常: app.Use(async (context, next) => { var sc = System.Threading.SynchronizationContext.Current; if (sc == null) { throw

ASP.NET Core 1.0网站中的SynchronizationContext是否为空? 此代码在我的系统上引发异常:

        app.Use(async (context, next) =>
        {
            var sc = System.Threading.SynchronizationContext.Current;
            if (sc == null)
            {
                throw new Exception("SynchronizationContext is null");
            }

它在ASP.NET 5中消失了,因为您不需要它的功能。它的全部目的是使HttpContext.Current流动,而HttpContext.Current已经消失了

我认为它在当前的文化中也做了一些事情,但我不确定现在是如何处理的


可能的副本不是副本!为了使当前区域性“异步友好”,实际上有两种策略:在CoreCLR和.NET 4.6上,使用了一个特殊的
Switch.System.Globalization.NoAsyncCurrentCulture
标志:它以前被dnx的
引导程序设置为false,但现在直接在mscorlib中处理:。在.NET上,通过访问器传递区域性也会非常酷(就像HttpContext一样)。我错误地假设ASP.NET 5有一个类似于node的单线程执行。所以,这意味着上下文可以由不同的线程处理,等待可能会将您带到另一个线程?@MasterT不确定我是否理解。我在这里得到的是一个事实,在静态的新世界中不存在当前的HttpContext.Current。因此,在线程之间共享是一项艰巨的工作(AFAIK,这里是)@MasterT true,对
任务
进行的任何
等待
调用都可能导致线程切换。