2015-05-26 29 views
3

在Glass.Mapper.Sc v 4.0.1.5中,ISitecoreService和ISitecoreContext的所有方法签名的inferType默认为false。 我正在寻找一种方法来覆盖并且默认为true,而无需在整个网站上更改方法调用。Glass.Mapper.Sc将inferType全局默认设置为true

我创建了另一个接口来覆盖那些只是修改inferType默认为true,但我想知道是否有更好的解决方案。

回答

2

没有自动覆盖来执行此操作,但在配置解析器管道中创建自己的任务可能会更简单。

如果你看一下下面的代码行: https://github.com/mikeedwards83/Glass.Mapper/blob/master/Source/Glass.Mapper.Sc/Pipelines/ConfigurationResolver/TemplateInferredTypeTask.cs#L48

你可以看到,它只是检查了InferType标志,您可以创建在刚刚设置为true请求开始另一管道。然后每个请求都会通过InferType强制执行。

您将需要在GlassMapperScCustom中使用Add方法在DependencyResolver.ConfigurationResolverFactory中注册新的管道进程。

+0

感谢Mike的洞察力,我希望config属性能够为inferType和isLazy设置默认值,而不是在接口中进行硬编码。也许考虑为更高版本:) –

+0

马克感谢我们会做。 –

相关问题