Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 ASP.NET 网站(.Net 4、IIS 7、C#)。当有人请求更新记录时,数据库有时会出现死锁。发生这种情况时,整个网站都会挂起,即使是不访问数据库的页面也是如此。
我的问题是,这是 ASP.NET 应用程序的正常行为吗?一页挂起,然后网站的其余部分挂起?如果没有,IIS 中是否有可以阻止这种情况的设置,或者有一种方法可以对应用程序进行编码来阻止这种情况?
我的问题是,这是 ASP.NET 应用程序的正常行为吗?一页挂起,然后网站的其余部分挂起?
当然不。可能发生的情况不是网站挂起,因为数据库中存在死锁,而是因为您有某种资源泄漏(内存、耗尽线程数以服务请求、CPU 等)导致应用程序变得无响应. 实际上,您可能认为数据库是罪魁祸首,但我更倾向于认为您的代码是问题所在。通常,当数据库中出现死锁时(至少在 SQL Server 上),死锁中涉及的查询之一会自动终止。