相关疑难解决方法(0)

从Controller调用SignalR Core Hub方法

如何从Controller调用SignalR Core Hub方法?
我使用ASP.NET Core 2.0与Microsoft.AspNetCore.SignalR(1.0.0-alpha2-final).

我有与Excel,SolidEdge通信的Windows服务...当操作完成后,它会在ASP.NET核心应用程序中向我的控制器发送请求.现在我需要通过SignalR通知连接到服务器的所有客户端,外部程序完成了一些任务.
我无法改变窗口服务的工作方式.(无法从窗口服务连接到SignalR).
我为旧的SignalR(GlobalHost.ConnectionManager.GetHubContext)找到了很多解决方案,但是已经发生了很大变化,而且这些解决方案不再适用了.

我的控制器:

[Route("API/vardesigncomm")]
public class VarDesignCommController : Controller
{
    [HttpPut("ProcessVarDesignCommResponse/{id}")]
    public async Task<IActionResult> ProcessVarDesignCommResponse(int id)
    {
        //call method TaskCompleted in Hub !!!! How?

        return new JsonResult(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的中心:

public class VarDesignHub : Hub
{
    public async Task TaskCompleted(int id)
    {
        await Clients.All.InvokeAsync("Completed", id);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# signalr asp.net-core-2.0 asp.net-core-signalr

39
推荐指数
4
解决办法
3万
查看次数

ASP.NET Core RC2 SignalR Hub上下文请求线程

我目前正在尝试RC2发布,ASP.NET Core我遇到了一个问题SignalR.我需要能够在请求线程之外向客户端发送消息.

现在在完整的.NET框架中,您可以这样做:

var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
context.Clients.<SendMessage>()
Run Code Online (Sandbox Code Playgroud)

但在ASP.NETCore中没有GlobalHost.

我发现了一个类似的问题: 如何在vNext项目中获取SignalR Hub上下文?

第二个答案提供了一种在请求线程之外获取hubcontext的方法,但这也不起作用ASP.NET Core.

所以我的问题是:如何在ASP.NET Core中的请求范围之外获取集线器上下文?

asp.net signalr asp.net-core asp.net-core-1.0 .net-core-rc2

15
推荐指数
3
解决办法
1万
查看次数