2016-05-02 13 views
-1

私はasp.net mvc5プロジェクトで作業しています。私はsignalRでchatroomを実装したいので、nugetからMicrosoft.Aspnet.SignalRを取得しました。私は「)ChatHub.OnDisconnected(」私はエラー を得る.but OnDisconnected()メソッドをオーバーライドしたい:もし適切な方法は
を上書きすることが分かっていない私は、この問題を解決する方法を知らない私にSignalR 2.1.0+についてはmvc 5のSignalRメソッドをオーバーライドする方法

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using Microsoft.AspNet.SignalR; 
using System.Collections.Concurrent; 
using System.Threading.Tasks; 

namespace WebApplication3.Hubs 
{ 
    public class ChatHub : Hub 
    { 
     public void Hello() 
     { 
      Clients.All.hello(); 
     } 
     static ConcurrentDictionary<string, string> dic = new ConcurrentDictionary<string, string>(); 

     public void Send(string name, string message) 
     { 
      Clients.All.broadcastMessage(name, message); 
     } 

     public void SendToSpecific(string name, string message, string to) 
     { 
      // Call the broadcastMessage method to update clients. 
      Clients.Caller.broadcastMessage(name, message); 
      Clients.Client(dic[to]).broadcastMessage(name, message); 
     } 

     public void Notify(string name, string id) 
     { 
      if (dic.ContainsKey(name)) 
      { 
       Clients.Caller.differentName(); 
      } 
      else 
      { 
       dic.TryAdd(name, id); 
       foreach (KeyValuePair<String, String> entry in dic) 
       { 
        Clients.Caller.online(entry.Key); 
       } 
       Clients.Others.enters(name); 
      } 
     } 
     public override Task OnDisconnected() 
     { 
      var name = dic.FirstOrDefault(x => x.Value == Context.ConnectionId.ToString()); 
      string s; 
      dic.TryRemove(name.Key, out s); 
      return Clients.All.disconnected(name.Key); 
     } 
    } 
} 

答えて

0

を助けてくださいOnDisconected(bool stopCalled)を使用する必要があります。

​​
関連する問題