我有一个MyClassFile.cs文件,看起来像这样:


public class MyClass1
{
    public static DataTable ReadData(string Connection, string Command, Dictionary Parameters)
    {
        //ADO.NET stuff here to .Fill() the DataTable Below
        return dtTable;
    }

    public static void WriteData(string Connection, string Command, Dictionary Parameters)
    {
        //ADO.NET stuff to write to DB
    }
}


我在Default.aspx.cs中使用它,如下所示:


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var Parameters = new Dictionary<string, object>
        {
            { "?Parameter1", TextBox1.Text },
            { "?Parameter2", TextBox2.Text }
        };

        DataTable dtTable = MyClass1.ReadData(Connection, Command, Parameters);
        ListView1.DataSource = dtTable;
        ListView1.DataBind();
    }
}


这是一个网站。尤其是由于ReadData()是公共静态的,我是否会遇到此代码的问题?如果有很多用户同时使用该怎么办?

我的目标是拥有可重用的“ .ReadData(x,y,z)”和“ .WriteData(x,y,z)”

最佳答案

静态方法本质上是线程安全的,只要它们不访问应用程序其他部分共享的对象即可。因此,在您的ReadData / WriteData方法中,如果您只是接受参数,创建数据库连接,执行语句并返回某些内容,那么您应该可以。

10-08 08:59