gpt4 book ai didi

asp.net - 为 Sitecore 配置故障转移合作伙伴

转载 作者:行者123 更新时间:2023-12-02 10:41:48 24 4
gpt4 key购买 nike

我目前面临一个非常奇怪的(至少对我来说)问题,涉及 Sitecore 中故障转移合作伙伴的配置。

环境:

  • .NET Framework 3.5
  • Windows Server 2008 R2
  • IIS 7.5

这是我的连接字符串之一:

<add name="master" connectionString="user id=user;password=password;Data Source=PRIMARY_SERVER\INSTANCE,60000;Failover Partner=FAILOVER_SERVER\INSTANCE,60000;Database=Sitecore_Master" />

如您所见,我已经配置了一个故障转移合作伙伴,它接受与主数据库服务器相同的凭据。

如果我在操作期间停止主数据库,我将收到一个 SqlException,其中显示:

 Login failed for user 'user'

任何进一步的请求都将显示相同的异常,除非应用程序池被回收。现在应用程序指向故障转移数据库...

应用程序不应该自行切换数据库吗?

我唯一的想法是这样的,但感觉非常非常肮脏,我什至没有测试过:

public class FailoverSqlDataProvider : SqlServerDataProvider
{
public FailoverSqlDataProvider(string connectionString) : base(connectionString)
{ }

protected override LanguageCollection LoadLanguages()
{
try
{
return base.LoadLanguages();
}
catch (Exception ex)
{
if (ex is SqlException)
{
Trace.TraceError("(FailoverSqlDataProvider) An error occured: {0}", ex.ToString());
HttpRuntime.UnloadAppDomain();
}

return new LanguageCollection();
}
}
}

最佳答案

如果您使用具有镜像功能的 SQL Server,则只有在使用见证服务器时才会自动发生故障转移,否则您必须手动处理切换。

您可以使用 SQL Server Express 作为见证服务器,如果没有其他可用服务器,则可以从 Web 服务器运行它。

关于asp.net - 为 Sitecore 配置故障转移合作伙伴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7280309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com