我正在使用 Linq to SQL 作为 DAL,并且听说过有关在 Web 应用程序中使用静态方法的各种事情(关于线程/并发问题)。目前,我创建了一个测试 DAL,它似乎运行良好。但是,由于它是静态的,我创建它的方式有什么问题吗?
public static class TestDAL
{
public static bool GetUserAddress(string username)
{
testDBDataContext dbContext = new testDBDataContext();
//Linq code goes here
}
public static void InsertUserNumber(int userID)
{
testDBDataContext dbContext = new testDBDataContext();
//...
dbContext.UserDetails.InsertOnSubmit(nUser);
dbContext.SubmitChanges();
}
//etc... All the methods are created in the same way
}
这种方法对于Web应用程序来说合适吗,或者在生产环境中会出现问题吗?
谢谢。
最佳答案
只要您的静态方法不使用任何共享状态(类级状态或其他全局状态),它们本身就不会导致在多线程环境中运行的任何问题。每个静态方法调用都会创建其自己的局部变量的副本。
关于asp.net - 静态方法是否适合 Linq To SQL DAL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2238824/