zoukankan      html  css  js  c++  java
  • 多线程的注意事项

    访问HttpContext.Current会返回null

    尽量不要用MapPath,HttpRuntime.AppDomainAppPath才是更安全的选择。

    答案有二种:
    1. 在类型中添加一个字段来保存HttpContext的引用(异步开始前)。
    2. 将HttpContext赋值给BeginXXX方法的最后一个参数(object state)

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

                    Task.Factory.StartNew((e) =>
                    {
                        System.Web.HttpContext c = e as System.Web.HttpContext;
                    },System.Web.HttpContext.Current);    

    多线程下获取缓存问题

     多线程下使用HttpContext.Current.Cache.Get(key)获取缓存时HttpContext.Current为null,解决办法如下:

    HttpRuntime.Cache.Get(key);

    多线程下使用Html转码问题

    多线程下使用HttpContext.Current.Server.HtmlEncode(Htmlstring)转码HttpContext.Current为null,解决办法如下:

    HttpUtility.HtmlEncode(Htmlstring)

  • 相关阅读:
    Python之描述器
    Python魔术方法
    Python二分法查找
    Qt连接oracle
    oracle11g下载安装
    Qwidget,QMainWindow ,Qdialog
    动态库
    静态库
    Qt翻译文件
    Qt 日志界面类
  • 原文地址:https://www.cnblogs.com/Celebrator/p/6991500.html
Copyright © 2011-2022 走看看