использование (Быстрого) NHibernate с StructureMap (или любой IoCC)

В зависимости от того, является ли строковая часть example2 уникальной для адреса каталога, вы можете использовать что-то вроде

Dim lst As List(Of String) = IO.Directory.GetDirectories("C:...").ToList
MessageBox.Show(lst.FindAll(Function(x) x.Contains("example2"))(0))

, если хотите сравнить только последнюю часть строки, вы можете использовать что-то вроде [113 ]

Dim lst As List(Of String) = IO.Directory.GetDirectories("C:...").ToList

For Each item As String In lst

    Dim lastindexofbackslash As Integer = item.LastIndexOf("\")

    Dim _item As String = item.Substring(lastindexofbackslash + 1)

    If _item.Contains("example2") Then

        MsgBox(_item.Substring(4))

    End If

Next
5
задан BengtBe 19 June 2009 в 20:30
поделиться

2 ответа

Я использую StructureMap с быстрым-nhibernate (и Блок проверки допустимости NH) в 3 из моих текущих проектов. 2 из тех является ASP, приложения MVC и третье являются веб-сервисом WCF.

Ваши общие звуки стратегии о праве (кроме Вас не будет делать Вашу собственную Сессию или SessionFactory, как был уже указан в комментариях). Для получения дополнительной информации поймайте мой код конфигурации отсюда:

http://brendanjerwin.github.com/development/dotnet/2009/03/11/using-nhibernate-validator-with-fluent-nhibernate.html

Сообщение действительно об интеграции Блока проверки допустимости NH и Быстро-NHibernate, но Вы видите точно, как я регистрирую фабрику сессии и ISession с StructureMap в разделе "Bonus" сообщения.

РЕ: Уберитесь: необходимо попытаться всегда работать в рамках транзакции и или фиксировать или откатывать транзакцию в конце единицы работы. NH только использует Соединения SQL, когда он нуждается в них и будет заботиться об очистке того ограниченного ресурса для Вас. Нормальная сборка "мусора" будет заботиться о Ваших сессиях самих.

Фабрика Сессии является очень дорогим объектом, который Вы захотите только инициализировать однажды и иметь в наличии для жизни Вашего приложения.

4
ответ дан 15 December 2019 в 01:13
поделиться

Я не использовал карту структуры, но возможно я могу все еще помочь вести Вас в правильном направлении. Быстрый nHibernate является потрясающим хорошим выбором по hbm файлам.

Что касается запроса HTTP, Вы не должны удостоверяться, чтобы Вы закрыли сеанс, когда запрос HTTP заканчивается. Если Вы не сделаете то Вы закончите тем, что пропустили nHibernate сессию. Я не уверен, обработает ли карта структуры это для Вас, что я сделал, у меня есть http модуль, который закрыл сеанс.

Одна вещь отметить, хотя это кусает меня, состоит в том, что Вы сделаете к верному, Вы переносите весь свой доступ к данным в транзакцию и удостоверяетесь, что nHibernate на самом деле фиксирует свои изменения. Если Вы делаете это как часть Вашей сессии близко, Вы могли бы упустить шанс обработать ошибки. Мне любопытно услышать то, что Вы закончили тем, что имели необходимость сделать для получения этой работы.

0
ответ дан 15 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: