Glass.Mapper.Sc默认全局将inferType设置为true

时间:2015-05-26 20:56:20

标签: c# sitecore glass-mapper

在Glass.Mapper.Sc v 4.0.1.5中,ISitecoreService和ISitecoreContext的所有方法签名都使用inferType,默认为false。 我正在寻找一种覆盖它的方法,默认为true而不改变整个网站上的方法调用。

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

1 个答案:

答案 0 :(得分:2)

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

如果您查看以下代码行: https://github.com/mikeedwards83/Glass.Mapper/blob/master/Source/Glass.Mapper.Sc/Pipelines/ConfigurationResolver/TemplateInferredTypeTask.cs#L48

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

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