将SignalR Hub移动到另一个项目

sab*_*ber 7 c# asp.net asp.net-mvc signalr signalr-hub

我想知道是否可以将SignalR 放在HubAsp.Net项目不同的项目中?如果是的话.我怎样才能访问Hub课程?

提前致谢.

Jam*_*aug 4

据我所知,除了 ASP.NET 项目之外,不可能将 SignalR Hub 放入任何其他项目中,因为 SignalR 是基于 ASP.NET 框架构建的,并且位于 ASP.NET 命名空间内。我没有发现任何相反的说法。

但是,由于集线器不需要位于同一项目中即可供客户端访问,因此任何 .NET 或 JavaScript 客户端都可以通过适当的配置连接到集线器。

此链接解释了 JavaScript 客户端的工作原理: http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-javascript-client

如果您不使用 .NET 客户端进行连接,而是使用外部网站,请调入“跨站点参考”部分: http://www.asp.net/signalr/overview/signalr-20/hubs- api/hubs-api-guide-javascript-client#crossdomain

此链接解释了 .NET 客户端(例如 Windows 应用商店应用程序、Silverlight、WPF 和控制台应用程序)的工作原理: http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-指南网络客户端#clientsetup

鉴于您尝试访问一个单独的项目(不是 ASP.NET)中的集线器,我怀疑您使用某种形式的 .NET 客户端。前面的链接解释了如何配置这些连接。

因此,举例来说,如果您构建一个 .NET 客户端(例如 Windows 应用商店应用程序),它在发布时仍然可以访问位于 ASP.NET 项目中的 SignalR Hub,从而允许任何实时功能在客户端中运行就像客户端位于同一个 ASP.NET 项目中一样。