Улучшения и Обновления

Новые функции

Управляемые (длительные) операции. Web

Логирование Управляемых операций. Добавлена возможность включать в протокол сообщения определенных уровней критичности.
Добавлена возможность включать в протокол сообщения определенных уровней критичности (все, от «Warning», от «Error»). Для этого используется enum System.Diagnostics.TraceLevel. В случае длительных операций значения Info и Verbose имеют одинаковый смысл – будет записываться вся информация о ходе выполнения. Errors – будут сохраняться только ошибки, Warnings – ошибки и предупреждения. Если выбран Off, то кнопка открытия протокола на форме будет недоступна.
Настройка уровней критичности осуществляется:

  1. Через .config файл приложения(App.config/Web.config)
  2. Непосредственно при объявлении операции

Настройка описана в документации: Managed Operations. Design-time features


Xafari

Реализован класс MethodHelper. Класс позволяет использовать лямбда-выражения для получения имени свойства.
Класс MethodHelper реализован с целью обеспечения безопасности типов во время разработки. Имя свойства может быть получено с использованием лямбда-выражения. Подробнее см. http://xafari.ru/posts/lambda-espression-to-specify-property-name.html

Data

В импорте данных реализована технология Entity Factory

Настройки импорта. Оптимизирована обработка ссылочных типов.

Для каждого ссылочного типа выполняется проверка:

<MemberMap>
<MemberName>Country</MemberName>
<MemberTypeName>Xafari.BC.CD.Country</MemberTypeName>
<ColumnName>DATOB</ColumnName>
<ColumnTypeName>string</ColumnTypeName>
<MemberExpression />
</MemberMap>

Проверяется наличие описания для типа Xafari.BC.CD.Country в настройке импорта. В найденном описании ищется соответствующие MemberName для поля DATOB

<MemberMap>
<MemberName>Name</MemberName>
<MemberTypeName>System.String</MemberTypeName>
<ColumnName>DATOB</ColumnName>
<ColumnTypeName>string</ColumnTypeName>
<MemberExpression />
</MemberMap>

Если Name найдено, то произойдет попытка найти в базе объект с типом Xafari.BC.CD.Country, у которого поле Name = значению из входящего DATOB. Если такое найдено, то тогда объект ссылочного типа Xafari.BC.CD.Country не создается, а подтягивается найденный.

Устраненные проблемы

Editors

CriteriaObjectCreating. (Т102.134454)
При отключении признака UseByListViewCriteriaObjectCreating у Column в модели, у создаваемых объектов все равно подтягивалось значение по умолчанию из критерия. Исправлена ошибка в методе получения значения, отвечающего за использование критерия.

Editors. Windows

Множественный выбор с помощью чекбоксов. (Т102.133915)
Ошибка проявлялась при подключении множественного выбора с помощью чекбоксов на List View. Если на форме есть хотя бы одно поле, по которому выполняется группировка, то при выполнении действия раскрыть-скрыть-раскрыть группу возникает исключение.
Ошибка возникала при двойном клике по GridControl’у в случаях, когда кликали не по строке записи. Добавлена проверка на клик по «строке-записи».

FeatureCenter

Перенос генерации платформенно-зависимых объектов. (Т102.134367)
При генерации объектов в платформенно независимой часть использовались платформенно зависимые модули. В результате чего происходила ошибка при генерации и обновлении БД (SQL).
Платформенно-зависимые модули перемещены. А именно для
CardListEditor, AspExplorerListEditor, MapsEditors.

Arms. Web

Утечки памяти. (Т102.133138)
Проведено профилирования Web-компонентов Xafari. Устранены утечки памяти.

Что нового в Xafari x05 - часть 1 >>