2017-04-20 65 views
1

我正在尝试在我的客户端项目中使用SignalR。我想要做的是当我的api中的一个方法执行时,我想在我的客户端项目中显示通知。为此,我该如何设置两个项目?为更多澄清。 假设我有一个名为MethodA()的api方法,每当该方法执行时,客户端项目应该会收到通知。我怎样才能做到这一点?如何在我单独的Api和mvc客户端项目中使用SignalR?

回答

2

当你在api中配置signalr时,你需要设置你的客户端也应该监听的url。在下面的例子中,如果我的API是http://localhost:55985那么URL我的客户会听会http://localhost:55985/signalr

namespace MyApplication 
{ 
    public class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      // Any connection or hub wire up and configuration should go here 
      app.MapSignalR("/signalr", new HubConfiguration()); 
     } 

    } 
} 

然后在客户端项目将配置它就像这样

<script type="text/javascript"> 
    $(function() { 

     var hub = $.connection.myHub; 
     $.connection.hub.url = 'http://localhost:55985/signalr'; 

     $.connection.hub.start(); 
    }); 
</script> 

记住的JavaScript signalr连接您可能需要在您的开发环境中允许CORS。我不建议设置您的项目,以便CORS在生产中被允许,除非这是您的要求之一。代码中还不包括您需要设置的Hub。该信息可以发现h ere.

相关问题