• 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

  • 相关阅读:
    StrUtils
    WebUtil
    TreeUtil
    SQL解决表结构不同的数据同步方案
    MongoDB还原备份Bson文件及导出SQL文件
    Tengine安装步骤
    C++_练习—多态_virtual
    C++_练习—this指针
    C++_练习—继承_构造初始化列表
    C++_练习—继承_构造析构
  • 原文地址:https://www.cnblogs.com/dmeiyang002/p/3880515.html
Copyright © 2020-2023  润新知