предложу следующую реализацию
вместо UserId - можно получить любые данные из таблицы dbo.users
// это в Hub
// Получение UserId используя string email = HttpContext.Current.Request.Cookies["ep"]["e"]
public string NameUserId()
{
if (HttpContext.Current != null && HttpContext.Current.Request.Cookies["ep"] != null)
{
string email = HttpContext.Current.Request.Cookies["ep"]["e"];
idUser = UsersDAL.GetUserByEmail(email).Id.ToString();
}
return idUser;
}
// это public class UsersDAL : BaseDataAccess
public static User GetUserByEmail(string email)
{
User result = null;
const string query = @"select * from dbo.users where email=@Email and deleted=false";
using (var connection = new NpgsqlConnection(connStr))
{
connection.Open();
if (connection.State == System.Data.ConnectionState.Open)
{
using (var command = new NpgsqlCommand(query, connection))
{
command.Parameters.AddWithValue("Email", email);
try
{
var reader = command.ExecuteReader();
if (reader.Read())
result = ReadUserInfo(reader);
reader.Close();
}
catch (Exception ex)
{
string methodName = MethodBase.GetCurrentMethod().Name;
throw new Exception("in UsersDAL." + methodName + "(): " + ex);
}
finally
{
connection.Close();
}
}
}
else
{
// conn Open to SQLite DB
}
}
return result;
}