除了使用Session,似乎没有什么办法

解决方案 »

  1.   

    to alexlimingjun(风继续吹)
    static 不可以的,我已经测试过,不同的客户端访问同一页面的时候,static的发生改变不能反映到不同的客户,意味着它不是被共享的,除非
    用application,然而application在dll中又如何可以调用呢?
    to ohawz() 
    Session只是单独某个客户端的全局变量,我要实现的是如同application 可以被共享的效果
    to bwx() 
    你说的“同一项目里,加DLL,再NEW对象”能否说详细些呢?
      

  2.   

    这样也行吗? 如果这样也行, 真有点像window编程了,
      

  3.   

    我觉得应该可行的啊。类似application不是可以被多个用户共享么?
      

  4.   


    我是没有办法实现的
    前段时间我曾经问过一个问题:
    excel进程怎样被多个用户共享,结果不可能!!!我想本问题是一样的!
      

  5.   

    建议不要如此,多页面共用一个实例也许会出现意料之外的错误,建议单一page使用单一的实例,并且dll的实例化不会占用更多的资源。
      

  6.   

    或者,使用webserver的服务。这样可以满足您的要求。
      

  7.   

    Application变量来保存共用的信息。HttpContext.Current.Application["变量名"]
      

  8.   

    to: yohomonkey(关在笼子里的猴) 
    "建议单一page使用单一的实例,并且dll的实例化不会占用更多的资源。"
    因为这个dll中的一个对象实际是个字典(对象字典),非常庞大,并且一开始的时候要从硬盘中的文件中载入,还要做很多初始化,非常耗时和耗内存。多个实例,会不会造成太多的内存被浪费和效率低下?我一直找不到测试方法。
     
    关于webserver的我没用过,不真web serviece是否可以传递对象??
    to  spring_ok(SpringDotNet) 
    问题是,我要在dll中如何引用呢?
      

  9.   

    可以将对象字典生成完后放入应用程序缓存中:Cache["txt1"] = txtName.value;参考ms-help://MS.MSDNVS.2052/cpguide/html/cpconaddingitemstocache.htm
      

  10.   

    我想引用其值或为其赋值都是同样的办法:HttpContext.Current.Application["变量名"] = "aaa";string bbb = HttpContext.Current.Application["变量名"];
      

  11.   

    可以用cache吧,和application差不多,但是功能更多些