Одно соединение с Oracle через сеанс в MVC - PullRequest
0 голосов
/ 22 мая 2018

Мне нужно создать одно соединение для всего сеанса пользователя в MVC.

Ниже код записан в контроллере входа для достижения того же значения

OracleConnection con = new OracleConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["OracleConnection"].ConnectionString;
con.Open();
Session["oracle_con"] = con;

тогда, когда мне нужносоединение будет проверяться, как показано ниже

 OracleConnection or_con = (OracleConnection)Session["oracle_con"];
  if (or_con.State == ConnectionState.Closed)
    or_con.Open();

Это нормально работает в моей локальной системе, sessin sate mode - 'InProc'

Но на сервере режим состояния сеанса "StateServer" , поэтому преобразование соединения Oracle в сеанс выдает следующую ошибку

Невозможно сериализовать состояние сеанса.В режимах «StateServer» и «SQLServer» ASP.NET сериализует объекты состояния сеанса, и в результате несериализуемые объекты или объекты MarshalByRef не допускаются.То же ограничение применяется, если аналогичная сериализация выполняется в пользовательском хранилище состояний сеанса в режиме «Пользовательский».

[SerializationException: введите «Oracle.ManagedDataAccess.Client.OracleConnection» в сборке «Oracle.ManagedDataAccess, версия = 4.121»..1.0, Культура = нейтральный, PublicKeyToken = 89b483f429c47342 'не помечен как сериализуемый.]

Это правильный путь или любой другой способ выполнить мое требование?

1 Ответ

0 голосов
/ 22 мая 2018

OracleConnection не поддерживает Serializable, поэтому он не будет работать для того, что вы пытаетесь сделать.Почему вы хотите поместить соединение в сеанс?ODP.NET по умолчанию использует пул соединений, поэтому не нужно создавать новый запрос на соединение с нуля.

Если подключение создается медленно, это может быть связано с отсутствием папок журнала, которые необходимо создать, C: \ oracle_client \ log \ diag \ clients.

См. Здесь, Создание 32-разрядного объекта ODP.Net OracleConnection очень медленное , а здесь http://milagaia.blogspot.com/2012/04/odpnet-slow-first-connection.html?m=1.

...