gpt4 book ai didi

.net - 我需要在 ASP.NET 中使用 AJAX 关心线程安全吗?

转载 作者:行者123 更新时间:2023-12-04 12:24:53 24 4
gpt4 key购买 nike

问题是,是否有可能从多个线程执行对同一 session 的请求? ASP.NET 中的方法是否可重入?特别是我们正在使用 AJAX,这意味着正在发生异步请求。

这是否意味着在 session 中放置的对象上的操作周围放置锁?

我知道在处理静态和应用程序范围的变量时锁是必不可少的,但问题是 session 对象也是如此吗?

最佳答案

ASP.NET 通常为每个请求使用一个线程。它可以使用多个线程,例如服务时asynchronous pages ,但即便如此,在任何给定时间也只有一个线程在处理请求。

然而,从多个线程使用 session 状态是安全的,因为对 session 对象的访问是序列化的。来自 MSDN :

What if other pages attempt to concurrently access the session state? In that case, the current request might end up working on inconsistent data, or data that isn't up to date. Just to avoid this, the session state module implements a reader/writer locking mechanism and queues the access to state values. A page that has session-state write access will hold a writer lock on the session until the request terminates.

关于.net - 我需要在 ASP.NET 中使用 AJAX 关心线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4469725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com