关于DAL层使用静态方法,并在WEB层直接调用的问题

xuhui3124563 2011-05-09 08:28:53
我编写了一个网站,如果我没有BLL层,直接在WEB层调用DAL层,并且DAL层对数据表的操作方法都是静态的,这样,在多用户登录网站进行操作的时候,会不会出问题。

如果有问题,怎么解决? 是不是把DAL层的方法去掉static,WEB层引用的时候直接new 一个DAL层的实例?
...全文
256 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuhui3124563 2011-05-12
  • 打赏
  • 举报
回复
还有人看看吗
xuhui3124563 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fangxinggood 的回复:]
局部变量呀自己用多线程测试下嘛,你的方法100%不会有问题。
[/Quote]
那就好了
机器人 2011-05-09
  • 打赏
  • 举报
回复
局部变量呀自己用多线程测试下嘛,你的方法100%不会有问题。
xuhui3124563 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fangxinggood 的回复:]

因为asp.net是并发环境,所以一定要考虑并发问题。

没有公共资源的竞争调用或者访问,一定不会有问题。
[/Quote]
我想在想知道的就是,静态方法如果同时被调用,是否会出现并发问题,静态变量属于公共资源,那么静态方法是吗
机器人 2011-05-09
  • 打赏
  • 举报
回复
因为asp.net是并发环境,所以一定要考虑并发问题。

没有公共资源的竞争调用或者访问,一定不会有问题。
xuhui3124563 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fangxinggood 的回复:]

DAL静不静态看connection等关键资源是否静态

比如下面的代码,就算静态也没事
public class DAL
{
public static DataTable Query(...)
{
using(var conn = new XXXConnection(...))
...
}
}
下面的代码,就算不静……
[/Quote]
你好~!
我DAL层,有一个SQLhelper类,其中每个方法的需要的SQLconnction都是new出来的,这样,我DAL层就算都是静态方法,被WEB层调用,会出问题吗

public static int ExecuteNonQuery(CommandType ct, string cmdText, SqlParameter[] commandParameters)
{
int retval;
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
PrepareCommand(cmd, conn, ct, cmdText, commandParameters);
retval = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}



return retval;
}

机器人 2011-05-09
  • 打赏
  • 举报
回复
DAL静不静态看connection等关键资源是否静态

比如下面的代码,就算静态也没事
public class DAL
{
public static DataTable Query(...)
{
using(var conn = new XXXConnection(...))
...
}
}
下面的代码,就算不静态也有事
public class DAL
{
private static XXXConnection _conn = new XXXConnection(...);
public DataTable Query(...)
{
...
}
}
xuhui3124563 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxr0323 的回复:]

用第二种吧。

就是new dal().function()...
[/Quote]

你能解释一下我的疑惑吗,是不是会出问题呢
子夜__ 2011-05-09
  • 打赏
  • 举报
回复
用第二种吧。

就是new dal().function()...

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧