c# 异步方法中HttpContext.Current为空】的更多相关文章

调用异步方法前 HttpContext context = System.Web.HttpContext.Current; HttpRuntime.Cache.Insert("context", context); 异步方法里 HttpContext context = HttpContext.Current; if (context == null) { context = HttpRuntime.Cache.Get("context") as HttpConte…
config中需要配置 <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 另需要在服务类上加上,非服务契约 [AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]…
1.场景 在导入通讯录过程中,把导入的失败.成功的号码数进行统计,然后保存到session中,客户端通过轮询显示状态. 在实现过程中,使用的async调用方法,出现HttpContext.Current为null的情况,如下: 2.网络解答 从百度与谷歌查询,分以下两种情况进行解答: 1.更改web.config配置文件 Stackoverflow给出如下解决方案:http://stackoverflow.com/questions/18383923/why-is-httpcontext-cur…
1. async異步模式下為空 解决办法: <httpRuntime targetFramework="4.5" /> 或者: In your appSettings, set aspnet:UseTaskFriendlySynchronizationContext to true. 2. 在非Http请求线程中使用为空 示例代码--将主线程的HttpContext传递进去: var httpContext = HttpContext.Current; TaskWithDu…
项目中,用到了WCF Service服务,用的是Windows身份验证,正常登陆后 HttpContext.Current=null 解决方法—— 1.在Web.config文件中添加配置项 <system.serviceModel> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> </system.serviceModel> 2.在Service类文件上添加Attribu…
1. 在hosting WCF的web.config中加入: <system.serviceModel> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> </system.serviceModel> 2. 在Service的类定义上加上下面Attribute: [AspNetCompatibilityRequirements(RequirementsMode = AspNe…
一.前言 我们都知道,ASP.NET Core作为最新的框架,在MVC5和ASP.NET WebForm的基础上做了大量的重构.如果我们想使用以前版本中的HttpContext.Current的话,目前是不可用的,因为ASP.NET Core中是并没有这个API的. 当然我们也可以通过在Controller中访问HttpContext,但是某些情况下,这样使用起来还是不如HttpContext.Current方便. 二.IHttpContextAccessor 利用ASP.NET Core的依赖…
NET Core中怎么使用HttpContext.Current 阅读目录 一.前言 二.IHttpContextAccessor 三.HttpContextAccessor 回到目录 一.前言 我们都知道,ASP.NET Core作为最新的框架,在MVC5和ASP.NET WebForm的基础上做了大量的重构.如果我们想使用以前版本中的HttpContext.Current的话,目前是不可用的,因为ASP.NET Core中是并没有这个API的. 当然我们也可以通过在Controller中访问…
一.前言 我们都知道,ASP.NET Core作为最新的框架,在MVC5和ASP.NET WebForm的基础上做了大量的重构.如果我们想使用以前版本中的HttpContext.Current的话,目前是不可用的,因为ASP.NET Core中是并没有这个API的. 当然我们也可以通过在Controller中访问HttpContext,但是某些情况下,这样使用起来还是不如HttpContext.Current方便 二.IHttpContextAccessor 利用ASP.NET Core的依赖注…
在项目中使用异步(async await)的时候发现一个现象,HttpContext.Current为null,导致一系列的问题. 上网查了一些资料后找到了一个对象: System.Threading.SynchronizationContext (提供在各种同步模型中传播同步上下文的基本功能.), 跟踪代码后发现 SynchronizationContext.Current 返回的是一个叫 System.Web.LegacyAspNetSynchronizationContext 的内部类对象…