未设置Sitecore链接管理器Url选项站点解析

未设置Sitecore链接管理器Url选项站点解析,sitecore,sitecore7.2,Sitecore,Sitecore7.2,在多站点解决方案中,我使用以下解决方案允许基于站点在不同链接管理器之间切换: 这似乎是预期的工作。我遇到的问题是,对于以下配置,siteResolving未设置为true: ... ... 我已经切换了一些其他设置,只是为了确保它们会更改链接管理器的默认url选项。siteResolving是否不是要使用的正确属性?存在一个长期存在的问题,siteResolving未应用于链接管理器,无论它是否正确配置 解决方案是在提供商中应用设置: 公共类SiteResolvingLinkProvider

在多站点解决方案中,我使用以下解决方案允许基于站点在不同链接管理器之间切换:

这似乎是预期的工作。我遇到的问题是,对于以下配置,siteResolving未设置为true:


...
...

我已经切换了一些其他设置,只是为了确保它们会更改链接管理器的默认url选项。siteResolving是否不是要使用的正确属性?

存在一个长期存在的问题,
siteResolving
未应用于链接管理器,无论它是否正确配置

解决方案是在提供商中应用设置:

公共类SiteResolvingLinkProvider:LinkProvider
{
公共覆盖URL选项GetDefaultUrlOptions()
{
UrlOptions UrlOptions=base.GetDefaultUrlOptions();
urlOptions.SiteResolving=Settings.Rendering.SiteResolving;
返回选项;
}
}
另见:

听起来您有多个提供程序,并且您正在尝试独立控制每个提供程序上的设置,对吗?在这种情况下,您可以尝试在链接提供程序配置(如图所示)上提供
sitesolving
属性,然后将该配置读入链接提供程序的属性:

public bool{get;set;}
公共覆盖无效初始化(字符串名称,NameValueCollection配置)
{
初始化(名称、配置);
SiteResolving=MainUtil.GetBool(配置[“SiteResolving”],true);
}

我确实希望避免在基于全局设置的代码中添加配置。有没有办法从链接管理器获取siteResolving属性?我更愿意这样做。我认为德里克的观点是,LinkManager不尊重配置中指定的siteResolving值,这是整个问题。是的,这肯定是问题所在,但我想问的是我更喜欢的解决方案,而不是提供的解决方案。从根本上说,使用“GrumpyCoder”方法要求
sitesolutioning
为真。我认为如果你把它设为false,它就不起作用了。所以,虽然我同意在代码中应用配置并不好。在这种情况下,您根本不能将其称为config——这是一个要求。怎么会呢?可能需要通过将Settings.Rendering.SiteResolving的值设置为true在全局默认url选项中进行设置,但SiteResolving在链接管理器中不表示任何内容,除非在Derek更新其答案以显示时读入@德里克,这正是我想要的。谢谢