如何使用 SignalR 从服务器获取内容
How to get something from server using SignalR
我需要创建方法,它可以请求服务器并 return 回答。但是如果我使用 SignalR,我可以 运行 服务器的方法,而服务器将 运行 客户端的方法。但是我怎样才能创建类似这个模板的东西呢?
public Response Request()
{
//???
}
if I use SignalR, I can run server's method and server will run client's method.
如果您想在 c# 中从 .NET 客户端应用程序调用集线器方法,您可以参考以下代码片段。
try
{
HubConnection connection = new HubConnectionBuilder()
.WithUrl("http://localhost:61262/chatHub")
.Build();
await connection.StartAsync();
var mes = "hello";
await connection.InvokeAsync("SendMessage", "Consloe Client", mes);
// await connection.StopAsync();
}
catch (Exception ex)
{
Console.WriteLine("Can not communicate with server now, please retry later.");
}
集线器方法
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
另外,设置Hub和客户端,请参考以下文章。
我需要创建方法,它可以请求服务器并 return 回答。但是如果我使用 SignalR,我可以 运行 服务器的方法,而服务器将 运行 客户端的方法。但是我怎样才能创建类似这个模板的东西呢?
public Response Request()
{
//???
}
if I use SignalR, I can run server's method and server will run client's method.
如果您想在 c# 中从 .NET 客户端应用程序调用集线器方法,您可以参考以下代码片段。
try
{
HubConnection connection = new HubConnectionBuilder()
.WithUrl("http://localhost:61262/chatHub")
.Build();
await connection.StartAsync();
var mes = "hello";
await connection.InvokeAsync("SendMessage", "Consloe Client", mes);
// await connection.StopAsync();
}
catch (Exception ex)
{
Console.WriteLine("Can not communicate with server now, please retry later.");
}
集线器方法
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
另外,设置Hub和客户端,请参考以下文章。