2016-06-01 5 views
1

Я только что обновил свой npgsql с 2.5.5 до 3.1.1, и я получаю эту ошибку времени выполнения.Параметр ContinuousProcessing больше не поддерживается. NPGSQL

Мой DbConnection класс

public static string ServerConnectionString() 
    { 
     var connectionStringBuilder = new NpgsqlConnectionStringBuilder 
     { 
      Host = ConfigurationManager.AppSettings["Server"], 
      Username = ConfigurationManager.AppSettings["UserId"], 
      Database = "postgres", 
      Password = ConfigurationManager.AppSettings["Password"], 
      CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeout"]), 
      ApplicationName = EverestEnums.ConnectionApplicationName.EverestServerChecker.ToString(), 
      // MaxPoolSize = 200, 
      // SyncNotification = true, 
      KeepAlive = 1, 
      ConnectionLifeTime = 1, 
      // MinPoolSize = 1, 
      Pooling = false 
     }; 
     return connectionStringBuilder.ConnectionString; 
    } 

Трассировка стека

[NotSupportedException: The ContinuousProcessing parameter is no longer supported. Please see http://www.npgsql.org/doc/3.1/migration.html] 

Npgsql.NpgsqlConnectionStringBuilder.set_ConnectionLifeTime (значение Int32) +62 Everest.Net.DatabaseLayer.DBFactory.DbConnection.ServerConnectionString() в E: \ Everest_PES \ Everest.Net.DatabaseLayer \ DBFactory \ DBConnection.cs: 13 E verest.Net.DatabaseLayer.DBFactory.DBOperations.IsServerAvailable() в E: \ Everest_PES \ Everest.Net.DatabaseLayer \ DBFactory \ DBOperations.cs: 216 Everest.Net.DatabaseLayer.DBFactory.ServerConnectivity.IsDbServerAvailable() в E: \ Everest_PES \ Everest.Net.DatabaseLayer \ DBFactory \ ServerConnectivity.cs: 7 Everest.Net.BusinessLayer.DBFactory.ServerConnectivity.IsDbServerAvailable() в E: \ Everest_PES \ Everest.Net.BusinessLayer \ DBFactory \ ServerConnectivity.cs: 12 Everest .Net.Web.Global.Application_Start (отправитель объекта, EventArgs e) в E: \ Everest_PES \ Everest.Net.Web \ Global.asax.cs: 15

[HttpException (0x80004005): параметр ContinuousProcessing больше не является поддерживается. Пожалуйста, см http://www.npgsql.org/doc/3.1/migration.html] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode (HttpContext контекст, HttpApplication приложение) +544 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr, контекстные контекст приложения HttpContext, MethodInfo [] обработчики) +186 System.Web.HttpApplication.InitSpecial (HttpApplicationState состояния, MethodInfo [] обработчики, IntPtr контекст приложение, HttpContext контекст) +172 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr контекст приложение, HttpContext контекст) +402 System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr контекст приложение) +343

[HttpException (0x80004005): параметр ContinuousProcessing больше не поддерживается. Пожалуйста, см http://www.npgsql.org/doc/3.1/migration.html] System.Web.HttpRuntime.FirstRequestInit (HttpContext контекст) +579 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext контекст) +112 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest сог, HttpContext контекст) +712

Поскольку он работал нормально раньше. Но была проблема с подключением пула. Затем я обновил npgsql и эту ошибку rumtime. Любая справка.

ответ

1

Похоже, это исключение бросается, когда вы получаете или устанавливаете свойство ConnectionLifeTime в NpgsqlConnectionStringBuilder. Свойство устарело и теперь заменено свойством Connection Idle Lifetime (см. http://www.npgsql.org/doc/migration.html). Попробуйте использовать это вместо:

public static string ServerConnectionString() 
    { 
     var connectionStringBuilder = new NpgsqlConnectionStringBuilder 
     { 
      Host = ConfigurationManager.AppSettings["Server"], 
      Username = ConfigurationManager.AppSettings["UserId"], 
      Database = "postgres", 
      Password = ConfigurationManager.AppSettings["Password"], 
      CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeout"]), 
      ApplicationName = EverestEnums.ConnectionApplicationName.EverestServerChecker.ToString(), 
      // MaxPoolSize = 200, 
      // SyncNotification = true, 
      KeepAlive = 1, 
      ConnectionIdleLifetime = 1, 
      // MinPoolSize = 1, 
      Pooling = false 
     }; 
     return connectionStringBuilder.ConnectionString; 
    } 
+0

Спасибо, сэр .. Много изменений в 3.1 – OLDMONK

 Смежные вопросы

  • Нет связанных вопросов^_^