ASP.NET - VB.NET - 共享方法

时间:2010-02-04 23:31:08

标签: asp.net vb.net shared

我有一个方法名称“LogClick”,每秒调用2次或更多次。我以传统的方式称呼它:

Call New MyClass().LogClick()

Everty时间我称之为“LogClick”,“MyClass”是实例化的。所以我想:“为什么不将这种方法转换为共享?”

Public Shared Sub LogClick()
...
End Sub

MyClass.LogClick()

我是否会有性能,同意内存问题会将此方法转换为共享?

2 个答案:

答案 0 :(得分:0)

]注意,

本身没有性能问题,但任何静态的变量都将保留在内存中,即使在ASP.NET中也是如此。所以你必须考虑到这一点。但一般来说,如果没有任何静态变量,性能将与实例相同......取决于实例中的内容,使用静态方法可能会更好。

HTH。

答案 1 :(得分:0)

共享(C#中的静态)本质上是非线程安全的,因为所有页面实例都将访问同一个对象。

“问题”完全取决于LogClick()正在做什么。您必须非常小心地分析代码,假设在执行每一行之后执行将转移到另一个线程,然后再返回。