Application.Lock()什么时候用

cshava 2011-01-29 03:53:04
比如:

class TestClass
{
public string Val { get; set; }
}

此时Application["test"]是一个TestClass对象,我要修改其Val的值
TestClass c = Application["test"] as TestClass;
c.Val = "haha";

我并没有修改Application["test"]的指向,请问要不要先Application.Lock()
...全文
426 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bestdowt1314 2011-02-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]

对整个网站的application有效
需要理解application的机制,application是对整个网站有效的,所有访问网站的人享用同一个application
锁定后其他页面在同一时间就无法进行application的操作了
[/Quote]
正解
flyerwing 2011-02-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
对整个网站的application有效
需要理解application的机制,application是对整个网站有效的,所有访问网站的人享用同一个application
锁定后其他页面在同一时间就无法进行application的操作了
[/Quote]
对的,访问就得LOCK,读写都得吧.
微工程 2011-02-11
  • 打赏
  • 举报
回复
写session 或 改写一个txt或xml等的文件时用
jason成都 2011-02-11
  • 打赏
  • 举报
回复
抢占资源时用。
cshava 2011-02-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]

需要。

c是一个指向对象的引用。
[/Quote]但是我并没有修改c,只是修改了c的属性,Application.Lock()锁住确保对象的所有引用类型的属性(包括属性的属性)吗

另外读Application对象时需不需要锁?Cache对象的自动ReaderWriterLock在什么时候进行,修改的时候?还是任何情况?
chen_ya_ping 2011-01-29
  • 打赏
  • 举报
回复
共用的东西修改,是要先lock的。这个地方,你可以使用application.lock
wuyq11 2011-01-29
  • 打赏
  • 举报
回复
对整个网站的application有效
需要理解application的机制,application是对整个网站有效的,所有访问网站的人享用同一个application
锁定后其他页面在同一时间就无法进行application的操作了
threenewbee 2011-01-29
  • 打赏
  • 举报
回复
需要。

c是一个指向对象的引用。

62,046

社区成员

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

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

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

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