Llame al método SignalR Core Hub desde el controlador

¿Cómo puedo llamar al método SignalR Core Hub desde el controlador?
Estoy usando ASP.NET Core 2.0 con Microsoft.AspNetCore.SignalR (1.0.0-alpha2-final).

Tengo un servicio de Windows que se comunica con Excel, SolidEdge ... Cuando se completa la operación, envía una solicitud a mi controlador en la aplicación ASP.NET Core. Ahora necesito informar a todos los clientes conectados al servidor con SignalR que el programa externo completó alguna tarea.
No puedo cambiar la forma en que funciona el servicio de ventanas. (No se puede conectar a SignalR desde el servicio de ventana).
Encontré mucha solución para el viejo SignalR (GlobalHost.ConnectionManager.GetHubContext), pero mucho ha cambiado y esas soluciones ya no funcionan.

Mi controlador:

[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);
    }
}

Mi hub:

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

Respuestas a la pregunta(2)

Su respuesta a la pregunta