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/

相关文章:

javascript - 更改分页中的所选页面

asp.net - WebForms输出中的Page.Get路由URL输出 "length"查询字符串参数

javascript - 使用属性SingleClick = true重新启用RadButton

sql - 如何在 SQL Server 和 LINQ-to-SQL 中定义一侧可选的一对一关系?

asp.net - 带有谷歌地图 api 的 ASP .NET

3 个物理层上的 ASP.NET 应用程序

linq-to-sql - 从 LINQ To SQL ExecuteQuery 中的存储过程捕获输出参数

c# - 取消后台 worker

java - 如何确保一个线程在其主线程完成后将被执行?

c - Unix - 将文件中的一行写入 char* var,然后将其保存为整数