最近在开发中遇到一个需要给现有客户端推送信息的需求,于是就准备尝试一下SignalR,并做此记录,记录在搭建SignalR过程中遇到的问题。
1.SignalR WinForm服务端搭建
添加相关引用那些我就不在这里详细介绍了,就记录一些注意事项:
1.1在添加Startup.cs的时候,设置跨域访问
using System; using System.Threading.Tasks; using Microsoft.Owin; using Owin; using Microsoft.Owin.Cors; [assembly: OwinStartup(typeof(SignalRService.Startup1))] namespace SignalRService { public class Startup1 { public void Configuration(IAppBuilder app) { // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 app.UseCors(CorsOptions.AllowAll); app.MapSignalR(); } } }
如果CorsOptions.AllowAll 有问题,则需要引用using Microsoft.Owin.Cors; 可以在Nuget里添加引用
2.客户端搭建
2.1Web客户端搭建的时候需要注意:
如果你的项目里面没有Startup.cs类,需要新增一个。
2.2Web端引用SignalR生成的JS文件
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
API服务端或者WinForm服务端都可以如下引用
<script src="http://localhost:17284/signalr/hubs"></script>