表計算を開始するために実行する次のコードがあります (表計算は、数千行を返すいくつかのクエリを起動します)。アプリが 1 つのインスタンスのみを実行する場合は問題ありませんが、2 つ以上のインスタンスを実行するとサーバーの処理が遅くなり、エラーが発生し始めます。
このコードをスレッドに変換する必要がありますか? それはどのように行われますか?
private static object _lock = new object();
private void RunTable(string outputType, string _outputDataType) {
Server.ScriptTimeout = 300;
string returnCode = string.Empty;
lock (_lock)
{
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["MainDll"].ToString()))
{
connection.Open();
using (SqlCommand command = new SqlCommand(sql.ToString(), connection))
{
command.CommandType = CommandType.Text;
command.CommandTimeout = 300;
returnCode = (string)command.ExecuteScalar();
Dispose();
}
Dispose();
}
}