Можете ли вы проверить эту функцию для меня.Это потокобезопасный или не будет использоваться.Я пытаюсь понять, как именно работают публичные статические классы.
Эта функция будет использоваться для получения userId посетителя из базы данных по имени пользователя.Так много одновременных звонков может произойти.Кроме того, это будет лучший способ производительности и безопасное внедрение SQL.
ASP.net 4.0 - C # - MSSQL 2008 R2 - IIS 7.5
using System;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data;
public static class csGetUserId
{
public static string srCommandText = "select UserId from tblUsersProfile where userName=@userName";
public static string ReturnUserId (string srUserName)
{
string srUserId = "0";
using (SqlConnection connection = new SqlConnection(DbConnection.srConnectionString))
{
try
{
SqlCommand cmd = new SqlCommand(srCommandText, connection);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@userName", srUserName);
SqlDataReader dsReader = null;
connection.Open();
dsReader = cmd.ExecuteReader();
if (dsReader.HasRows)
{
while (dsReader.Read())
{
srUserId=dsReader["UserId"].ToString();
}
}
else
{
}
}
catch
{
srUserId="-1";
}
}
return srUserId;
}
}