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