一个相当迷惑的问题:shared,Cache,Application关系如何暧昧的?

woodcoal 2011-03-18 12:00:55
Cache 和 Application 还好理解,不过问题就是 Application 本身能不能设置一个过期时间而不用 Cache?

另外 Shared 和 Cache 存在何种关系?

比如说我在类中创建了一个 Shared 类型的变量,所有的用户访问都可以共享到这个变量,还是只有某个用户的进程才能使用此变量?Cache我们可以从网站启动一直延续到网站停止,任何人访问的时候都可以共享使用,但是Shared呢?如果说Shared也可以,那么Shared和Cache有相同功效了,或者说Shared变量可以直接干掉Application了?

那么 shared,Cache,Application关系到底如何暧昧呢?
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
woodcoal 2011-03-18
  • 打赏
  • 举报
回复
灰常感谢!
机器人 2011-03-18
  • 打赏
  • 举报
回复
是的。Public Shared的变量在所有用户线程都可见,长期有效。试试就了解了。
woodcoal 2011-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fangxinggood 的回复:]

Shared 是vb.net 的关键字(C# static) 不要和Cache和Application混在一起。后两者是
Asp.net框架里定义好的类。

Shared变量它是在第一次调用的时候被创建的。
Application是在服务启动时被创建的。
Asp.net里按照生存周期及访问权限排列的话:
Application(全局) > Cache(全局) > Session(用户……
[/Quote]

是的
但是有一个问题是 Shared 是整个网站启动到停止过程一直可以共享使用还是只有单个用户进程才有效?抛开习惯什么的不管,现在最不明的就是 Share 是不是和 Cache 一样可以长期共享并在内存中。如果一样,那么是不是说也可以用 Shared 来代替部分 Cache 的操作?
子夜__ 2011-03-18
  • 打赏
  • 举报
回复
Shared =>static

学习机器人。
机器人 2011-03-18
  • 打赏
  • 举报
回复
Shared 是vb.net 的关键字(C# static) 不要和Cache和Application混在一起。后两者是
Asp.net框架里定义好的类。

Shared变量它是在第一次调用的时候被创建的。
Application是在服务启动时被创建的。
Asp.net里按照生存周期及访问权限排列的话:
Application(全局) > Cache(全局) > Session(用户) > ViewState(页面)
* Cache.Insert方法里可以控制缓存的期限。

Application/Cache 采用 Dictionary 方式保存数据。
Shared变量使用的时候,要用[类名.变量名]使用,如果你要在asp.net里使用
全局数据的话,这一点不利于习惯。比如你在一个项目里定义了一个Shared类,
但到另一个项目里还要重新定义一个么。



62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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