我负责在Azure上配置一个新的Sitecore系统作为PaaS.我想在多个不同的地区提供3个环境.我仍然希望有一个主要区域,它将提供完整的XP安装,而其他2个区域(从属)将只提供CD.每个从CD-DB将被配置为主区域中的发布目标,并将为XDB和表单数据库提供数据.
所以问题是:我怎样才能做到这一点?我已经为主区域配置了ARM模板,它运行正常.现在我需要配置从属区域,但是我找不到关于如何实现这一点的足够信息.
我可以在Azure中使用克隆功能并在以后修改配置文件吗?
提前致谢
我在Sitecore的网站定义中定义了一个网站。路径是/localhost/mysite/home。而且有效。
我需要创建一个自定义控制器,以使用绕过Sitecore的API提交表单。因此,我FormsController(从MVC控制器继承)具有名为“ Test”的操作,不带任何参数。
我在初始化管道中定义了路由,如下所示:
public class Initialize
{
public void Process(PipelineArgs args)
{
MapRoutes();
GlassMapperSc.Start();
}
private void MapRoutes()
{
RouteTable.Routes.MapRoute(
"Forms.Test",
"forms/test",
new
{
controller = "FormsController",
action = "Test"
},
new[] { "Forms.Controller.Namespace" });
}
}
Run Code Online (Sandbox Code Playgroud)
路由已正确添加到路由表中,并且在调试时就已存在。现在,当我尝试调用方法“ test”时,找不到路由,并且调试器未在操作中达到断点。
我正在尝试不同的路线:
/localhost/mysite/home/forms/test/localhost/forms/test (默认网站)但到目前为止没有运气。
----更新-
更深入地讲,我注意到Sitecore的行为有问题。如果上下文项为空(简化),则TransferRoutedRequest处理器应该中止httpRequestBegin管道,将控制权交还给MVC。经过一些检查后,它会发生,其中一项是对RoutTable数据的检查。但是对RouteTable.Routes.GetRouteDatareturn 的调用始终为null,这使处理器可以在不中断管道的情况下返回。我改写了它以使其正确地中止管道,但是即使我调用method args.AbortPipeline(),管道也不会中止并且路由也无法解析。
这是原始的TransferRoutedRequest样子:
public class TransferRoutedRequest : HttpRequestProcessor
{
public override void Process(HttpRequestArgs args)
{
Assert.ArgumentNotNull((object) args, "args");
RouteData routeData …Run Code Online (Sandbox Code Playgroud) 我正在 Azure 上开发 Sitecore PaaS 解决方案。我使用标准市场程序配置了一个 Sitecore xsmall 实例。安装后,我立即进行了完整的索引重建。但是当Sitecore开始重建主数据库索引时,添加了随机数量的索引后就卡住了。
我尝试了许多不同的配置修改,但没有一个奏效。
有任何想法吗?
[编辑]
好的,我找到了日志。
嵌套异常
异常:Sitecore.ContentSearch.Azure.Http.Exceptions.AzureSearchServiceRESTCallException 消息:{"error":{"code":"","message":"请求无效。详细信息:定义:索引无效:索引包含 1036 字段(s)。一个索引最多可以有 1000 个字段。\r\n"}}
我看到有一个适用于 Sitecore 8 的补丁,但我使用的是 v9。我可以安装它吗?