有没有办法检测 signaR 集线器是否无法连接到给定的背板(SQL 或 REDIS)。例如,给定一个错误的连接字符串或无法访问背板服务器?
这是我的简化启动类:
public class Startup
{
public void Configuration(IAppBuilder app)
{
var backplaneType = ConfigurationManager.AppSettings["SignalR.BackplaneType"];
if (backplaneType == "SQL")
{
var connectionString = ConfigurationManager.ConnectionStrings["SignalR.SQL"].ConnectionString;
var sqlScaleoutConfig = new SqlScaleoutConfiguration(connectionString);
GlobalHost.DependencyResolver.UseSqlServer(sqlScaleoutConfig);
}
else if(backplaneType == "Redis")
{
var connectionString = ConfigurationManager.ConnectionStrings["SignalR.Redis"].ConnectionString;
var config = new RedisScaleoutConfiguration(connectionString, "SomeKey");
GlobalHost.DependencyResolver.UseRedis(config);
}
app.MapSignalR();
}
}
这样我们就可以记录任何错误并在我们的 APM 软件中记录下来。