gpt4 book ai didi

c# - 从 ASMX 调用静态方法的陷阱

转载 作者:行者123 更新时间:2023-11-30 19:34:35 24 4
gpt4 key购买 nike

我想知道从 ASP.NET Web 服务调用静态方法是否有任何缺陷。

    internal static object SelectScalar(String commandText, DataBaseEnum dataBase)
{
SqlConnection sqlc = new SqlConnection(AuthDbConnection.GetDatabaseConnectionString());
object returnval=null;
if (sqlc!=null)
{
SqlCommand sqlcmd = sqlc.CreateCommand();
sqlcmd.CommandText = commandText;
sqlc.Open();
returnval = sqlcmd.ExecuteScalar();
}
return returnval;
}

举个例子上面的方法;多个 Web 方法和多个客户端同时调用此方法(例如,1000 次调用调用此函数的 Web 方法)是否存在任何缺陷?

最佳答案

由于您正在创建一个新的 SqlConnection,因此您想要处置它,否则连接将不会关闭。参见 MSDN获取使用指南。

虽然它是一个静态方法……但这似乎不是问题,因为您没有更新任何共享状态(全局变量)。

编辑:据我所知,网络服务中静态方法的“陷阱”与任何其他应用程序中的一样。唯一需要注意的是,Web 服务是一种预期可以长期可靠运行的服务器。因此,随着时间的推移可能导致问题的事情(内存泄漏、数据库连接耗尽等)比其他运行时间短得多的应用程序更为重要。

关于c# - 从 ASMX 调用静态方法的陷阱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1319192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com