我已按照Microsoft 的指南開始使用 SignalR。這非常有效,我能夠將應用程式發布并部署到 IIS。
現在我需要從另一個 Windows 行程(特別是 Delphi 程式)與 .NET 應用程式進行通信。我想要做的是告訴 .NET 應用程式發送 SignalR 訊息(即在所有連接的客戶端上呼叫方法)。
我怎樣才能做到這一點?
我不確定 .NET 應用程式是如何執行的 - 它是否有自己的 Windows 行程,我可以將 Windows 訊息發送到?或者從 Delphi 程式向 localhost 發送本地 HTTP GET/POST 請求會更容易嗎?如果是這樣,我怎樣才能讓 SignalR 應用程式處理它?
uj5u.com熱心網友回復:
您可以創建一個控制器并注入IHubContext<ChatHub>. 使用集線器背景關系向客戶端發送訊息。
public class MessageController : Controller
{
private readonly IHubContext<ChatHub> _hubContext;
public MessageController(IHubContext<MessageHub> hubContext)
{
_hubContext = hubContext;
}
[HttpPost]
public async Task<IActionResult> SendMessage([FromForm] string message)
{
await _hubContext.Clients.All.SendAsync("ReceiveMessage", message);
return Ok();
}
}
然后從您的 delphi 應用程式中呼叫此端點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/503969.html
