静态变量会不会被回收啊

楠小南 2016-03-17 04:39:04
我定义了一个 变量 Public Shared sjjhwa As String
变量是放在基类的

我的 主页面 继承 基类
然后 我还附值给他 并观察 他半小时 别的地方都没有改动他
。然后就变空了。
然后我把他放到本地的IIS 中,,结果还是一样
...全文
1093 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
楠小南 2016-03-18
  • 打赏
  • 举报
回复
引用 7 楼 sp1234 的回复:
如果是 asp.net 网站,它在部署到生产服务器(特别是在外边租的虚拟机服务器)之后,本来就会每隔几分钟、十几分钟就重启一次进程。这个时候,别说静态变量值,有关 Session 集合等等也都初始化了。 但是这在你的开发环境不会发生,所以你如果不特意测试则可能想不到。 你可以根据上述“调试、检测”接过来判断,到底你的程序有没有什么地方改变了它的值。
今天测试了下 将一个常量 显式写入到静态变量。然后就没丢失了。 到用到原本的函数 附值的话,就会丢失 可能问题就出在这了 原来的函数 是从数据库读出一些数据 然后序列化 json 保存到静态变量 会不会跟保存的类型 大小 有关系呢。
yangyi_2009 2016-03-17
  • 打赏
  • 举报
回复
可能这段时间内进程被结束过了吧?
  • 打赏
  • 举报
回复
如果是 asp.net 网站,它在部署到生产服务器(特别是在外边租的虚拟机服务器)之后,本来就会每隔几分钟、十几分钟就重启一次进程。这个时候,别说静态变量值,有关 Session 集合等等也都初始化了。 但是这在你的开发环境不会发生,所以你如果不特意测试则可能想不到。 你可以根据上述“调试、检测”接过来判断,到底你的程序有没有什么地方改变了它的值。
  • 打赏
  • 举报
回复
soory,不是“编译”是“编辑”!
  • 打赏
  • 举报
回复
你可以把它改为属性,操作方法使用 vs 主菜单“编译-> 重构-> 封装字段”。 再转换为属性之后,你就可以在代码
_sjjhwa = value
这里设置断点,然后开始测试,看看 vs 什么时候能够捕获到中断。中断之后,从调试器的“调用堆栈”窗口,就能看到哪里使用了它。
楠小南 2016-03-17
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
不会,直到整个进程结束
事实上他真的空了。可能设计有问题,我试试把他放在当前类看看
bdmh 2016-03-17
  • 打赏
  • 举报
回复
不会,直到整个进程结束

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧