zoukankan      html  css  js  c++  java
  • HttpContext在多线程异步调用中的使用方案

      1.在线程调用中,有时候会碰到操作文件之类的功能。对于开发人员来说,他们并不知道网站会被部署在服务器的那个角落里面,因此根本无法确定真实的物理路径(当然可以使用配置文件来配置物理路径),他们唯一知道的就是文件在项目中的相对路径,为了定位文件路径,一般都会调用HttpContext.Current.Request.MapPath或者HttpContext.Current.Server.MapPath,但是在多线程调用中,HttpContext肯定为null,这时候还调用MapPath结果就是报错。

      其实获取项目路径并非只有HttpContext这一种方法,HttpRuntime.AppDomainAppPath也可以获取项目路径,而且也是更安全的选择。

      2.在APM模式下的异步完成回调时,访问HttpContext也会返回NULL,解决方案:

      在类型中添加一个字段来报错HttpContext的引用(异步开始前)

      将HttpContext赋值给BeginXXX方法的最后一个参数(object state)

      建议优先选择第二种方法,因为可以防止以后他人维护时数据成员被意外使用。

      原文地址:http://www.cnblogs.com/babycool/p/3749812.html

  • 相关阅读:
    Ⅲ:作业
    Ⅱ:python入门
    Auth模块
    django中间件
    Django的cookie以及session
    form组件
    Django Ajax
    Django模板层3和ajax初始
    聚合/分组 查询 事务
    Django ORM常用模块
  • 原文地址:https://www.cnblogs.com/dmeiyang002/p/3880515.html
Copyright © 2011-2022 走看看