Хорошо, я понял это, или, по крайней мере, один из способов сделать это.
Сначала я не смог понять, что вам нужно использовать этот код из контроллера mvc, как только выСделав это, вы, очевидно, можете вызывать этот контроллер также из любого другого места или приложения, используя класс WebRequest .
@ Hightechrider Для полноты картины необходимо включить 2больше ссылок, чтобы заставить этот кусок кода работать.Этот демонстрационный код сделан с помощью PersistentConnection, но принцип для концентратора тот же, конечно.
РЕДАКТИРОВАТЬ: я сейчас использую поток внутри моего asp.net mvc для управления sqldependency, это похоже наболее комплексное решение.Проверьте этот пост о том, как реализовать фоновую обработку в asp.net «правильным способом» http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SignalR.Infrastructure;
using SignalR.Hosting.AspNet;
using SignalR;
namespace SignalRDemo.Controllers
{
public class DemoController : Controller
{
public void sendMessage( string message)
{
IConnectionManager connectionManager = AspNetHost.DependencyResolver.Resolve<IConnectionManager>();
IConnection connection = connectionManager.GetConnection<MyConnection>();
connection.Broadcast(message);
}
}
}