2011-04-21 59 views
1

在实验室中我做了SQL静态方法之一,但一旦我被告知,这种做法是因为内存访问错误坏。告诉我这个动机的人是这样的:静态SQL方法的利弊

你不能这样做sql方法是静态的,因为如果它们是静态的,它们就是活在堆栈中。而且每个居住在堆栈中的方法都有类似0X0001的地址。如果许多用户在同一时间点同样的方法会怎样?访问错误将会发生。

我试着告诉他关于在ASP.Net中的池,但没有必要因为他非常确定。但现在这个问题在我的脑海中。如果他说的是真的,或者是这个人拉我的腿怎么办?

+0

他在说废话 - 一个真正的被调用次数过多会导致访问错误的方法!?当有人确信自己不会听时,从来不是一个好兆头。 – 2011-04-21 15:58:44

+0

他甚至可以确定涉及任何类型的sqlcommands的方法。 – NCFUSN 2011-04-21 16:14:57

+0

是的 - 所有的方法调用就会压入堆栈,不管它的SQL内容或不 - 所以他的意见仍然没有任何意义 – 2011-04-21 16:24:26

回答

0

由于每个Web请求是由一个单独的线程来处理,我看不出有静态方法可能会导致一个问题:每个线程都有它自己的堆栈。

静态变量....现在那些可能会导致一个问题!

+0

请用静态变量告诉我更多关于这些问题的信息。 – NCFUSN 2011-04-21 16:19:53

+0

啊,好吧,我知道你的意思。 – NCFUSN 2011-04-21 16:21:46