【问题标题】:How to use SignalR in a webfarm, using Sql server as the backplane如何在 webfarm 中使用 SignalR,使用 Sql server 作为背板
【发布时间】:2012-11-06 21:40:08
【问题描述】:

基于此主题signalr-sqlserver-listening,SignalR 可以在 webfarm 中使用,使用 Sql server 作为背板向所有 webnodes 传递消息。

我想知道这方面是否有任何文档/示例。

【问题讨论】:

    标签: sql-server signalr


    【解决方案1】:

    使用 SQL Server 作为消息总线(背板)的 SignalR 的未发布实现正在开发中。可以从https://github.com/SignalR/SignalR/tree/master/src/Microsoft.AspNet.SignalR.SqlServer查看和编译源码

    一旦您拥有编译版本并在项目中引用 SignalR.SqlServer 程序集,您可以通过调用以下内容来启用 SQL Server 背板,通常来自 global.asax.cs 文件中的 Application_Start 方法。

     var connection = ConfigurationManager.ConnectionStrings["SignalRMessageBus"].ConnectionString;
     GlobalHost.DependencyResolver.UseSqlServer(connection);
    

    这假设您已经在 web.config 文件中定义了 SignalRMessageBus 连接字符串。 如果您使用连接字符串定位的数据库实例中尚不存在所需的表,则 SignalR.SqlServer 程序集将创建所需的表,因此请确保您正在访问的帐户具有创建表的权限。

    同样,这还没有正式发布,但根据这个问题 - Sql server scale out Message Bus 这将是即将发布的 1.0 Alpha 1 版本的一部分。

    【讨论】:

    • 谢谢佩奇!现在就可以了。我们正在试验信号器,我想使用此功能
    • 还注意到 AspNet 示例 - github.com/SignalR/SignalR/tree/master/samples/… 包含注释掉的 SqlServer MessageBus 的 GlobalHost 设置,因此您可以打开它并在此处进行测试。
    • 有人用 SignalR 尝试过 SQL 吗?
    • 我在使用它时遇到了问题。我得到:“Microsoft.AspNet.SignalR.IDependencyResolver”不包含“UseSqlServer”的定义,并且最佳扩展方法重载“Microsoft.AspNet.SignalR.DependencyResolverExtensions.UseSqlServer(Microsoft.AspNet.SignalR.IDependencyResolver, string)”有一些无效参数
    • 自发布此答案以来,SignalR 中的 Scaleout 功能已更新。请参阅asp.net/signalr/overview/performance-and-scaling/… 的最新产品文档
    猜你喜欢
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2018-07-22
    • 2020-07-31
    • 2023-04-10
    相关资源
    最近更新 更多