3

是否可以编写 WebSocket (SignalR) 客户端,而不必将其嵌入托管在 IIS(或其他 ASP.NET Web 服务器)上的 ASP.NET 应用程序中?

例如,如果我有一个带有自定义集线器的自托管 SignalR 服务器,是否可以(如果可以,如何)从“纯”Javascript Web 客户端调用它?

在这种情况下,文件夹<script src="~/signalr/hubs" type="text/javascript" />中没有运行时生成的“魔术”脚本部分。~/signalr/hubs/

4

1 回答 1

6

SignalR 不需要有一个 asp.net 应用程序即可工作。您可以创建一个通用的 html 页面并仍然与 SignalR 服务器进行通信。您甚至可以使用 silverlight、windows phone 或其他客户端与 SignalR 服务器进行通信,目前支持的有很多,甚至更多的是第三方开发的(如 android、ios、node 等)。

当您说“纯”JavaScript 客户端时,我假设您的意思是没有像 JQuery 这样的第三方库,在这种情况下,SignalR 当前在没有 JQuery 的情况下无法工作,但不依赖 JQuery 的客户端正在筹备中(https://github .com/SignalR/SignalR/issues/372)。

您可以使用 ASP.NET Owin创建一个自托管服务器下拉 SignalR 。

编辑: 为了使用自托管服务器,您必须在应用程序中启用跨域。查看答案:SignalR:协商请求期间出错:未定义

于 2013-02-27T19:52:04.683 回答