2015-05-26 1 views
3

В Glass.Mapper.Sc v 4.0.1.5 ISitecoreService и ISitecoreContext имеют все свои сигнатуры методов с inferType по умолчанию - false. Я ищу способ переопределить это значение и по умолчанию true, не изменяя вызовы методов по всему сайту.Glass.Mapper.Sc установить inferType в true по умолчанию глобально

Я создал другой интерфейс, чтобы переопределить те, чтобы изменить значение inferType по умолчанию, но мне было интересно, есть ли лучшее решение.

ответ

2

Для этого нет автоматического переопределения, но может быть проще создать собственную задачу в конвейере преобразователя конфигурации.

Если вы посмотрите на следующую строку кода: https://github.com/mikeedwards83/Glass.Mapper/blob/master/Source/Glass.Mapper.Sc/Pipelines/ConfigurationResolver/TemplateInferredTypeTask.cs#L48

Вы можете видеть, что он просто проверяет флаг InferType, можно создать еще один трубопровод в начале запроса, который просто устанавливает это правда. Тогда каждый запрос будет иметь силу через InferType.

Вам необходимо будет зарегистрировать новый процесс конвейера в GlassMapperScCustom против DependencyResolver.ConfigurationResolverFactory с помощью метода Add.

+0

Спасибо Mike за понимание, я надеялся на свойство config, чтобы установить значение по умолчанию для inferType и isLazy вместо жесткого кодирования в интерфейсе. Может быть, подумайте, что для более поздней версии :) –

+0

Отметьте спасибо, мы сделаем. –

Смежные вопросы