Я реализую Hangfire.FluentNHibernate на. Net Framework 4.6, Oracle версия 11 с Oracle .ManagedDataAccess v12.
Я получаю ошибку ORA-12537 при вызове backgroundJob в моем контроллере следующим образом:
BackgroundJob.Enqueue (() => Debug.WriteLine ("test"));
Вот мой класс запуска owin:
public class Startup
{
public void Configuration(IAppBuilder app)
{
var options = new FluentNHibernateStorageOptions
{
TransactionIsolationLevel = System.Transactions.IsolationLevel.Serializable,
QueuePollInterval = TimeSpan.FromSeconds(15),
JobExpirationCheckInterval = TimeSpan.FromHours(1),
CountersAggregateInterval = TimeSpan.FromMinutes(5),
UpdateSchema = true,
DashboardJobListLimit = 50000,
InvisibilityTimeout = TimeSpan.FromMinutes(15),
TransactionTimeout = TimeSpan.FromMinutes(1),
DefaultSchema = "xxx", // use database provider's default schema
TablePrefix = "Hangfire_"
}
var connString
=System.Configuration.ConfigurationManager.ConnectionStrings["Oracle"].ConnectionString;
var storage = FluentNHibernateStorageFactory.For(ProviderTypeEnum.OracleClient10Managed, connString, options);
GlobalConfiguration.Configuration.UseStorage(storage);
app.UseHangfireDashboard();
}}
Он смог создать все таблицы и последовательность:
HANGFIRE_AGGREGATEDCOUNTER, HANGFIRE_COUNTER, HANGFIRE_DISTRIBUTEDLOCK, HANGFIRE_DUAL, HANGFIRE_OB, HANGFIRE_OB, 10 * HANGFIRE_JOBPARAMETER, HANGFIRE_JOBQUEUE, HANGFIRE_JOBSTATE, HANGFIRE_LIST, HANGFIRE_SERVER, HANGFIRE_SET, HIBERNATE_SEQUENCE
Приведенный ниже код вызывает ошибку:
Не удалось создать фоновое задание. Подробности см. Во внутреннем исключении.
Внутреннее исключение говорит:
невозможно вставить: [Hangfire.FluentNHibernateStorage.Entities._Job] [SQL: INSERT INTO HANGFIRE.Hangfire_Job (\ "Id \", \ "LastStateChangedAt \", \ "StateData \", \ "InvocationData \", \ "Arguments \", \ "CreatedAt \", \ "ExpireAt \", \ "StateName \" ", \" StateReason \ ") ЗНАЧЕНИЯ (HANGFIRE.hibernate_sequence.nextval,?,?,?,?,?,?,?,?), Возвращающие \" Id \ "в: nhIdOutParam]
внутреннее исключение этого говорит:
ORA-12537: Сетевая сессия: Конец файла
Большое спасибо в заранее.