【发布时间】:2025-12-16 03:55:02
【问题描述】:
我了解静态成员可能会在 ASP.Net 或任何其他基于 .net 的系统中导致多个用户访问和使用相同线程的并发问题。
我的问题是当我将上下文作为参数传递时使用静态方法是否安全。示例:
public class BL
{
public static List<DocumentType> GetAllActiveDocumentTypesForMyDeparment(int CurrentDepartment)
{
return Data.DAL.GetAllActiveDocumentTypesForMyDeparment(CurrentDepartment).Where(s => s.IsActive)
.OrderBy(s => s.DocumentTypeDisplayName).ToList();
}
}
以上会导致并发问题吗?请注意,我的 DAL 也在使用静态方法。
我知道有很多关于静态与实例的文章,并且我已经阅读了很多,但我发现真正理解某些东西的最佳方法是编写代码并对其进行测试。谢谢
【问题讨论】:
-
到目前为止,这个sn-p真的取决于
Data.Dal.GetAlLActiveDocumentTypesForMyDepartment是否是线程安全的。 -
您没有将
Data作为参数传入。所以不,这不是解决方案。
标签: c# asp.net static-methods static-members