c#-4.0 - SignalR 组未获取数据

标签 c#-4.0 session asp.net-mvc-4 signalr signalr-hub

嗨,我遇到了一个问题,我在一个组中的 SignalR 客户没有收到发送的信息。

我已经以两种方式尝试过这个,但都不起作用。

在加载的网页上,客户端将调用服务器以获取组名,然后调用集线器上的方法将用户加入该组。

JavaScript.....

        var connectionOpen = false;
        var myHub;
        $(function () {
            myHub = $.connection.myHub;
            myHub.client.showMessage = alertMessage;
            $.connection.hub.start(function () {
                connectionOpen = true;
                joinGroup();
            });
        });

        function joinGroup() {
            $.ajax({
                url: 'Controller/GetGroupName,
                type: 'POST',
                success: function (group) {
                    if (connectionOpen == true)
                        tileHub.server.joinGroup(group);
                }
            });
        }

function alertMessage(string value){
alert(value);
}

Controller
[HttpPost]
public JsonResult GetGroupName()
{
    return Json("Foo");
}

我的中心
public void JoinGroup(string groupName)
{
    Groups.Add(Context.ConnectionId, groupName);
}

我已经多次通过代码,我可以看到我连接正常并加入组但是当我尝试发送回组时没有任何 react

我从我的 Controller 使用这个发送到组
GlobalHost.ConnectionManager.GetHubContext<myHub>().Clients.Group("Foo").showMessage("Hello");

这是我尝试过的第二种方式,我也尝试过从集线器发送到组,但仍然没有快乐。

任何帮助将不胜感激...

更新
多亏了大卫福勒,这已经得到了修复......

这是一个错误,因为我使用 HubName 属性给集线器一个不同的名称,然后使用 longPolling 传输给信号R。删除该属性允许它知道工作。还提供了修复程序,请参阅 https://github.com/SignalR/SignalR/issues/1039

最佳答案

几样东西:

  • 请确保您阅读了这篇文章的“重新加入群组”部分。 http://weblogs.asp.net/davidfowler/archive/2012/11/11/microsoft-asp-net-signalr.aspx .
  • 您是否真的需要进行 ajax 调用才能从服务器中找出组名?不能直接在页面中渲染吗?
  • 如果在任何地方都将“Foo”硬编码为组名,它会失败吗?
  • 关于c#-4.0 - SignalR 组未获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13531314/

    相关文章:

    javascript - ASP.net MVC session 超时持续时间

    c# - 如何在 StructureMap 2.6 中为插件设置 session 范围?

    IntelliSense 中的 JavaScript 命名空间引用

    c# - doublevalue.ToString() 在 C# 中丢失小数位

    c# - 如何在 C# 中进行性能测试

    c# - 在 C# 中格式化 double

    C# 4.0 规范测试版?

    php访问HTTPS和HTTP之间的 session 数据

    asp.net-mvc - MVC 4 - View /部分 View 和表单 - 如何仅更新提交的部分 View ?

    javascript - 如何在 MVC 应用程序中解析来自 JavaScript 的相对路径