Flexberry ASP.NET является продуктом платформы Flexberry. Сайт продукта Flexberry ASP.NET: flexberry.ru.

Описание продукта

Посредством Flexberry Designer возможно создание диаграммы классов. С этой диаграммы можно сформировать необходимую структуру базы данных (БД), объектную модель и готовое web-приложение.

Состав продукта

Flexberry ASP.NET состоит из следующих модулей:

Ограничения Flexberry ASP.Net

Статьи по теме

Особенности настройки Unity для Lifetime Managers

Unity использует Lifetime Managers для управления временем жизни создаваемых им объектов. В приложении можно использовать как существующие менеджеры, так и создавать свои в зависимости от требований приложения.

Наименование Описание Особенности применения
UnityContainer.Resolve<IAbstraction>() При каждом обращении создается создается новый экземпляр абстракции Нельзя использовать для кеширования, так как в итоге кеширования данных происходить не будет
ContainerControlledLifetimeManager (singleton) Он обеспечивает создание контейнером экземпляра зависимости при первом Resolve, а на все последующие возвращает уже созданный При таком сценарии необходимо, чтобы класс либо не хранил никакого состояния, либо был потокобезопасным
TransientLifetimeManager Unity создает и возвращает новый экземпляр запрошенного типа для каждого вызова метода Resolve. Используется по умолчанию для всех типов, зарегистрированных с использованием метода RegisterType, где не был указан конкретный менеджер. При регистрации переходных типов нет необходимости передавать экземпляр TransientLifetimeManager на регистрацию Потокобезопасен, поскольку каждый потребитель имеет свой собственный экземпляр зависимости. Может привести к тому, что будет создано и уничтожено сборщиком мусора бесчисленное множество экземпляров, в то время как одного экземпляра было бы достаточно
ContainerControlledTransientManager Аналогичен TransientManager, но содержит ссылку на каждый созданный одноразовый экземпляр и удаляет их при удалении контейнера Полезен, когда используется в основанных на сессии проектах с дочерним контейнером, связанным с сессией
ContainerControlledLifetimeManager Регистрирует существующий или разрешенный объект как одноэлементный экземпляр в контейнере, в котором зарегистрирован объект экземпляра. Возвращает один и тот же экземпляр зарегистрированного типа или объекта каждый раз, когда вызван Resolve или когда механизм зависимости внедряет экземпляры в другие классы. Подробнее…  
ExternallyControlledLifetimeManager Предоставляет общую поддержку для управляемых извне сроков, позволяет регистрировать маппинг и существующие объекты в контейнередля ссылки на экземпляр, который он регистрирует или создает при вызове метода Resolve, а также когда механизм зависимости внедряет экземпляры в другие классы на основе атрибутов или параметров конструктора данного класса Использование данного менеджера позволяет другому коду сохранять объект в памяти или распоряжаться им, а также позволяет контролировать время жизни существующих объектов или позволить другому механизму управлять временем жизни
HierarchicalLifetimeManager Аналогичен ContainerControlledLifetimeManager. Различие состоит в том, что при наличии дочерних контейнеров каждый дочерний элемент разрешает свой собственный экземпляр объекта и не разделяет его с родительским. При Resolve в родителе поведение похоже на время жизни контейнера; при разрешении родительского и дочернего экземпляров остаются разные экземпляры, каждый из которых действует как управляемый контейнером Lifetime. Каждый из дочерних элементов будет разрешать свой собственный экземпляр  
PerResolveLifetimeManager Аналогичен TransientLifetimeManager, однако также предоставляет сигнал плану сборки по умолчанию, отмечая тип так, чтобы экземпляры повторно использовались в графе объекта сборки. В случае рекурсии, одиночное поведение применяется, когда объект был зарегистрирован в PerResolveLifetimeManager По сравнению с Transient, при использовании Per Graph не возникает никаких дополнительных издержек, поэтому может использоваться в качестве замены Transient
PerThreadLifetimeManager Возвращает для каждого потока один и тот же экземпляр зарегистрированного типа или объекта каждый раз, когда вызван Resolve или когда механизм зависимости внедряет экземпляры в другие классы. Эффективно реализует одноэлементное поведение для объектов для каждого потока. PerThreadLifetimeManager возвращает разные объекты из контейнера для каждого потока По сравнению с Transient, при использовании Per Graph не возникает никаких дополнительных издержек, поэтому может использоваться в качестве замены Transient

Примеры

Пример настройки технологических форм

Примеры настройки технологических форм представлены в статье Примеры настройки технологических форм.

Доработка пользовательского интерфейса

Сгенерированные Web-страницы нуждаются в доработке по следующим пунктам:

  • Заголовки страниц
  • Выравнивание элементов на страницах
  • Общий стиль, цвета и шрифты элементов страниц
  • Масштабирование страниц
  • Локализация