Xamarin + SignalR(可以发送,但不能接收消息)

Xamarin + SignalR (sending is possible, but not receiving messages)

我可以发消息 但是我的 OnReceiveMessage 事件没有触发?

服务器端

public void Send(string name, string message, string roomname)
{
    //All connected clients in a specified group
    Clients.Group(roomname).OnMessageReceived(name, message);
}

Xamarin,我的聊天服务

public event EventHandler<ChatMessage> OnMessageReceived;

public async Task Connect()
{
    await _connection.Start();
    _proxy.On("OnMessageReceived", (string name, string message) => OnMessageReceived(this, new ChatMessage
    {
        Name = name,
        Message = message
    }));
 }

来自聊天页面的 Xamarin 代码

public ChatViewModel(List<MessageViewModel> messages)
{
    Messages = new ObservableCollection<MessageViewModel>(messages);
    _chatServices = DependencyService.Get<IChatServices>();
    _Channel = "PrivateRoom";
    _chatServices.Connect();
    _chatServices.JoinRoom(_Channel);
    _chatServices.OnMessageReceived += _chatServices_OnMessageReceived;
}
private void _chatServices_OnMessageReceived(object sender, ChatMessage e)
{
    // NO TRIGGER
}

我必须在我的 Web 应用程序上启用 CORS。

1) 安装包 'Microsoft.Owin.Cors'.

2) 映射 signalR 并允许其使用 CORS。

    public void Configuration(IAppBuilder app)
    {         
        app.Map("/signalR", map =>
        {
            map.UseCors(CorsOptions.AllowAll);
            var hubConfiguration = new HubConfiguration { };
            map.RunSignalR(hubConfiguration);
        });
    }