'Microsoft.AspNet.SignalR.Hubs.IHubCallerConnectionContext<object>'不包含'Group'的定义



i'am a newbie带有signalr in asp.net c#中的signalr。问题,我使用州管理,而不是亲自分组属性。

 public class Person
{
   public string Name { get; set; }
    public string Message { get; set; }
  //  public string Group { get; set; }
}

客户代码通过状态

<script src="scripts/jquery-1.6.4.min.js"></script>
<script src="scripts/jquery.signalR-2.2.2.min.js"></script>
<script src="/signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        var broadcaster = $.connection.firstHub;
        broadcaster.client.displayText = function (name, message) {
            $('#messages').append('<li>' + name + ' said: ' + message + '</li>');
        };
        $.connection.hub.start().done(function () {
            $("#broadcast").click(function () {
                broadcaster.server.join($('#groupName').val());
                broadcaster.state.GroupName = $('#groupName').val();
                 broadcaster.server.broadcastMessage({ Name: $('#name').val(),Message: $('#message').val() });
                broadcaster.server.leave($('#groupName').val());
            });
        });
    });
</script>
<div>
    <input type="text" id="groupName" />
    <input type="text" id="name" />
    <input type="text" id="message" />
    <input type="button" id="broadcast" value="Broadcast" />
    <ul id="messages"></ul>
</div>

HUB实现用于使用状态值

[HubName("firstHub")]
public class Chapter3Hub : Hub
{
    public void BroadcastMessage(Person person)
    {
    Context.ConnectionId).displayText(person.Name, person.Message);
        Clients.Group(Clients.Caller.GroupName).displayText(person.Name, person.Message);
    }
    public Task Join(string groupName)
    {
        return Groups.Add(Context.ConnectionId, groupName);
    }
    public Task Leave(string groupName)
    {
        return Groups.Remove(Context.ConnectionId, groupName);
    }  
}

当我运行时,与错误相比。'microsoft.aspnet.signalr.hubs.ihubcallerconnectioncontext'不包含" group"'''

的定义

hjk,我修改了此行。

  Clients.Group((string)Clients.Caller.GroupName).displayText(person.Name, person.Message);

并成功运行。

最新更新