为提高生成HTML的速度,我打算用Application保存模板。我的生成HTLM工作大部分都是BLL层完成的,UI只负责保存HTML进硬盘。我在管理员登陆成功以后就给Application赋值,当BLL里用到Application,马上就“未将对象引用设置到对象的实例。”我测试了一下在ui里面是可以随便用的,但在BLL里面就不给用。
我这么测试public string abc()
{
 if(Application["Header_aspx"]!=null)
{
 return Application["Header_aspx"].ToString();
 }
 else
 {
 return "1111";
 }
 
}UI里面是
BLL_MakeHTML bb =new BLL_MakeHTML();
Response.Write( bb.abc());
还是“未将对象引用设置到对象的实例。”
郁闷!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!要怎么样Application才能跨层使用呢?

解决方案 »

  1.   

    在ui里的session是这样使用的:HttpContext.Current.Session["Sort"].ToString()
    所以Application也不能直接使用,我现在没有开发环境,你试把Session换成Application应该就可以
      

  2.   

    HttpContext.Current.Application[""].ToString();
      

  3.   

    V                             改成HttpContext.Current.Application[""].ToString();
    加上using System.Web;能用了!!!To:WeekZero(星期零)
    Session不怎么好用,如果几个管理员一起进入后台,那么Session就有N个来保存网页模板。Application就没有问题。
      

  4.   

    呵呵,楼主仔细看看我的回答,我没有让你去使用Session。