2016-12-16 6 views
0

私はsignalrを初めて使っています。自動生成されたプロキシがないクライアントでhubproxyを作成しました。私はどのように私のJavaScriptのプロキシからサーバーにメッセージを送信できますか?完了プロキシを使用してsignalrを使用してクライアントからサーバーにメッセージを送信するにはどうすればよいですか?

: -

Signalrが正常にサーバーハブクラスからインスタントメッセージを受信します。

TODO: -私はサービス

Iドンにハブクラスを介してconnectionIdに基づいて要求されたクライアントをクライアントにhubproxyを介してサーバハブクラスにクライアントからConnectionIdを送信して応答する必要が

hubproxyを使ってクライアントからサーバーにデータを送信する方法は知っていますか?

JavaScriptクライアント: -

_signalr:function(){ 
     var connection = $.hubConnection(); 
     var proxy=this; 
     var service = $.connection.serviceHub; 
     var ServiceHubProxy = connection.createHubProxy('serviceHub'); 
     ServiceHubProxy.on('addMessage', function signalr(widgetName,info) { 
      if (widgetName == "Layout") 
       proxy._renderDashboardLayout(null, info); 
      else 
       proxy._renderControl(null,widgetName, info); 

     }); 
     connection.url = 'http://localhost:58087/signalr'; 
     connection.start({ jsonp: true }).done(function() { 
      var Id = connection.id; 
      console.log(Id); 
      console.log("Connected"); 
      proxy.loadLayout(); 
     }); 
}, 

HubClass: -

[HubName("serviceHub")] 
public class ServiceHub : Hub 
{ 
    public void Send(string widgetName,object info) 
    { 
    var service = GlobalHost.ConnectionManager.GetHubContext<ServiceHub>(); 
    service.Clients.All.addMessage(widgetName,info); 
    } 
} 

Owin起動クラス: -

public class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 

     var configuration = new HubConfiguration(); 
     configuration.EnableJSONP = true; 

     app.MapSignalR(configuration); 
    } 
} 

は誰もが、解決策を提供してもらえますか?

もっと役立つでしょう。

答えて

0

クライアント側からコールを受信するには、バックエンドで関数を作成する必要があります。あなたはReceiveAnAjaxFromClient

+0

のためのAJAXを送信するクライアント側で

[HubName("serviceHub")] public class ServiceHub : Hub { //send to client public void Send(string widgetName,object info) { var service = GlobalHost.ConnectionManager.GetHubContext<ServiceHub>(); service.Clients.All.addMessage(widgetName,info); } //receive from client public void ReceiveAnAjaxFromClient(string data) { //do something } } 

を使用すると、1つの疑問を持っているMarlon.i感謝します!プロキシを使用してクライアントからサーバーにデータを送信できない理由AJAXを使用することは可能ですが、私はsignal.JavaScriptのプロキシとthat.but知っていた? – creator

関連する問題