asp.net - 静态方法是否适合 Linq To SQL DAL?

标签 asp.net linq-to-sql multithreading data-access-layer static-methods

我正在使用 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/

相关文章:

ios - 多线程 CoreData 应用程序中主上下文和私有(private)上下文的推荐合并策略

c# - C#XNA多线程SpriteBatch.End() “Object reference not set to an instance of an object”

java - 使用信号量保护数组

c# - 在 asp.net mvc 中使用 jQuery 时使用 AjaxHelper 类

c# - Linq to SQL 的问题

c# - 使用 LINQ TO SQL 更新实体

c# - 使用 Dynamic LINQ 过滤子查询

asp.net - DropDownList 不会在 SelectedIndexChanged 上回发

javascript getelementbyid 不工作,因为 id 改变了

c# - 从方法返回 <list> 值