Я могу использовать Сессию ASP.NET [] переменная во внешнем DLL

  1. Исправьте опечатку (и)

    func dequeueReusableCell<T: UICollectionViewCell>( ...
    
  2. Аннотируйте тип и удалите приведение типа

    let cell : TacoCell = collectionView.dequeueReusableCell(forIndexPath: indexPath)
    
5
задан Jon 17 January 2009 в 22:24
поделиться

4 ответа

Необходимо смочь использовать HttpContext. Текущий. Сессия

Править

В то время как да я соглашаюсь, что Вы не должны сильно связывать свою Бизнес-логику DAL или и т.д. блоки к сессии ASP.NET. Существует много допустимых случаев для доступа к Контексту HTTP за пределами веб-проекта.

Веб-элементы управления являются прочертовским из лучших примеров, допускающие повторное использование http модули и т.д. и т.д...

Теперь одна опция, если Вы хотите иметь свое получение по запросу DLL материал от Сессии, состоит в том, чтобы абстрагировать сессию. Таким образом, Вы могли определить интерфейс как IStorage, что Ваша библиотека будет знать, как использовать. Затем Вы можете иметь класс SessionStorage или MemoryStorage и использовать МОК для введения appropiate класса в классы библиотеки. Это дает Вам свободу кодировать его, как Вы хотели, чтобы это было кодировано, не связывая Ваш код с Сессией. О, и еще одно преимущество, если сделано правильно может использоваться для не связи кода с сессией в сети также.

10
ответ дан 18 December 2019 в 06:13
поделиться

Можно всегда использовать HttpContext. Текущий. Сессия в Вашем DLL, но это рассматривают как плохую практику. Лучший подход должен был бы передать значения, сохраненные в словаре сессии к Вашему DLL вместо него ссылающийся на сессию. Другая выгода, которую Вы получите, - то, что код в Вашем DLL не будет связан со временем выполнения ASP.NET значение, что будет легче протестировать.

2
ответ дан 18 December 2019 в 06:13
поделиться

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

Хотя этот тип плотного соединения действительно не рекомендуется.

11
ответ дан 18 December 2019 в 06:13
поделиться

Как сказано другими, можно всегда использовать HttpContext. Текущий. Сессия в Вашем DLL, я предполагаю, что это - Ваш BAL, но необходимо быть действительно осторожными. Что, если Ваш DLL позже используется сервисом окон или некоторым другим приложением, которое не имеет HTTPContext? Каждый раз, когда я сделал это, это всегда было в свойстве, получают метод, где я переношу попытку получить доступ к HttpContext. Текущий. Сессия в попытке ловит блок и если что-нибудь идет не так, как надо, я повторно вытягиваю необходимые данные из дб.

2
ответ дан 18 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

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