是否可以编写WebSocket(SignalR)客户端而无需将其嵌入IIS(或其他ASP.NET Web服务器)上托管的ASP.NET应用程序中?
例如,如果我有自定义Hub的自托管SignalR服务器,是否可以(如果是,如何)从“纯”Javascript Web客户端调用它?
在这种情况下,我们没有<script src="~/signalr/hubs" type="text/javascript" />
部分在~/signalr/hubs/
文件夹中生成运行时生成的“魔术”脚本。
答案 0 :(得分:6)
您无需使用asp.net应用程序即可使用SignalR。您可以创建一个通用的html页面,但仍然可以与SignalR服务器通信。您甚至可以利用Silverlight,Windows Phone或其他客户端与SignalR服务器进行通信,目前支持的还有很多,甚至更多是第三方开发的(如android,ios,节点等)。
当你说“纯粹的”JavaScript客户端时,我假设你的意思是没有像JQuery这样的第三方库,在这种情况下,SignalR目前在没有JQuery的情况下不起作用,但是不依赖于JQuery的客户端正处于管道中({{ 3}})。
您可以使用ASP.NET Owin 创建一个Self Hosted服务器下拉SignalR。
修改强> 要使用自托管服务器,您必须在应用程序中启用跨域。请参阅答案:https://github.com/SignalR/SignalR/issues/372