C# signer和异构类型的客户端
我对信号员来说是个新手,所以请原谅我这个愚蠢的问题 比如说,我有许多在AWS EC2实例上运行的控制台应用程序(或windows服务), 我有一个web服务器(托管MVC3的IIS),当然我有无限多的web客户端 我如何在这些人之间沟通?比方说C# signer和异构类型的客户端,c#,asp.net-mvc,signalr,signalr-hub,signalr.client,C#,Asp.net Mvc,Signalr,Signalr Hub,Signalr.client,我对信号员来说是个新手,所以请原谅我这个愚蠢的问题 比如说,我有许多在AWS EC2实例上运行的控制台应用程序(或windows服务), 我有一个web服务器(托管MVC3的IIS),当然我有无限多的web客户端 我如何在这些人之间沟通?比方说 我需要每隔几秒钟在网络浏览器中获取一些信息 来自EC2机器-(CPU负载或类似情况) 随需应变 (当用户点击网页上的按钮时)它应该会拉一些东西 所选机器的else(例如C:驱动器上的AvailableDiskSpace) 我应该使用什么-集线器还是Per
有没有任何示例代码可以让我学习如何构建类似的东西?(我相信Nuget和Github上的示例以及视频教程向您展示了如何构建一台服务器/多个web客户端解决方案,但不是我所需要的)您需要使用Hub 下面是一个如何操作的示例(在0.5.3中): 服务器端(集线器): 客户端(javascript): 希望这有帮助!请随时到我们的JabbR房间与其他人讨论框架:
注意:如果您希望在中心上保留任何内容(私有/公共变量等),以使数据保持静态,请记住。您将希望使用中心 下面是一个如何操作的示例(在0.5.3中): 服务器端(集线器): 客户端(javascript): 希望这有帮助!请随时到我们的JabbR房间与其他人讨论框架:
注意:请记住,如果您希望在中心上保留任何内容(私有/公共变量等),以使数据保持静态。一个问题中有很多问题…:) 首先,控制台应用程序/windows服务可以是客户端,就像浏览器可以是同一个
Hub
。对于这一点,根本没有理由使用PersistentConnection
编程模型
其次,讨论两种不同的用例:
至于信号器示例,老实说,除了一个基本的文档向您展示如何操作之外,您对构建的想法没有什么不同。如果要在IIS+ASP.NET之外托管服务器,您需要为您的控制台应用程序/windows服务、浏览器应用程序和其他应用程序设置主机。一个问题中有很多问题…:) 首先,控制台应用程序/windows服务可以是客户端,就像浏览器可以是同一个
Hub
。对于这一点,根本没有理由使用PersistentConnection
编程模型
其次,讨论两种不同的用例:
public class MyDashboard : Hub
{
/* Have this method called every few seconds via a timer */
public void SendLoad()
{
// Will call the "retrieveLoad" JS method on the clients
Clients.retrieveLoad(new {
CPU = 10.25, // Put something relevant here
Memory = "80%" // Again, put something relevant here
});
}
public double GetDiskSpace()
{
return 3829847; // You'd replace the number with something more relevant
}
}
var dashboard = $.connection.myDashboard;
dashboard.retrieveLoad = function(info) {
console.log("The CPU is at: " + info.CPU);
console.log("The Memory is at: " + info.Memory);
}
$.connection.hub.start(function() {
// This is called once the hub has started, so we need to wire up our click event
$("#myButton").click(function() {
dashboard.getDiskSpace(function(space) {
console.log("The disk space is at: " + space);
});
});
});