Я сейчас настраиваю свою конфигурацию сеанса с помощью статического вызова, такого как
SessionConfiguration.GetSessionConfiguration();
Приведенный выше метод возвращает настроенный ISessionFactory:
public static ISessionFactory GetSessionConfiguration()
{
return Fluently.Configure()
.Database(MsSqlConfiguration
.MsSql2005
.ConnectionString(/*...*/)
.ShowSql()
.CurrentSessionContext<WebSessionContext>())
.Mappings(/*etc*/)
.BuildSessionFactory();
}
Часть, на которую я смотрю, это "CurrentSessionContext <>". Я хотел бы иметь возможность установить это на основе приложения, которое его вызывает. В большинстве случаев доступ к этой библиотеке осуществляется через веб-приложение, поэтому все вышеперечисленное работает нормально. Однако недавно у меня возникла необходимость использовать этот уровень в консольном приложении, где CallSessionContext показался более подходящим.
Можно ли передать ICurrentSessionContext для использования на месте?
Я пробовал что-то вроде:
public static ISessionFactory GetSessionConfiguration<ICurrentSessionContext>
или
public static ISessionFactory GetSessionConfiguration<TSessionContext>
но пока не повезло.
Любая помощь очень ценится!