Рендеринг действия/представления ASP MVC в строку в среде, отличной от HttpContext/SignalR

Я знаю, что можно отобразить действие MVC в строку из другого контроллера в проекте MVC, но вместо этого мне нужно вызвать отрисовку из класса, который не предоставляет HttpContext. Фактически это унаследованный класс от класса SignalR.Hub.

Основная идея заключается в передаче обработанной строки ActionResult/View всем клиентам через SignalR.

Спасибо за ваше время!


person thomas    schedule 11.02.2012    source источник


Ответы (1)


Вы можете отправить HTTP-запрос соответствующему действию контроллера:

using (var client = new WebClient())
{
    string html = client.DownloadString("http://example.com/controller/action");
    // TODO: broadcast the html to all connected clients
}
person Darin Dimitrov    schedule 12.02.2012
comment
Это мое временное решение, но я надеялся, что может быть более элегантный способ добиться этого. - person thomas; 15.02.2012
comment
Нет, нет. Без HttpContext вы не можете выполнять действия контроллера и отображать представления. - person Darin Dimitrov; 15.02.2012