У меня есть простое частичное представление, которое я хотел бы автоматически вызывать на сервере каждые 5 секунд.
Загрузка частичного вида из мастер-макета:
@{Html.RenderAction("PingServer", "Account"); }
Контроллер выглядит так:
public ActionResult PingServer()
{
return PartialView("PingServer");
}
Фактическое частичное представление "_PingServer":
@{
<script language="javascript" type="text/javascript"
src="http://code.jquery.com/jquery-latest.js">
</script>
<script language="javascript" type="text/javascript">
$(function () {
setInterval(Foo, 5000);
});
function Foo() {
$.post("/Shared/ImHere.ashx", null, function () { });
}
</script>
}
Фактический "ImHere.ashx.cs"
выглядит так:
public class ImHere : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
SiteUser.ImHere();
}
public bool IsReusable
{
get
{
return false;
}
}
}
======================
ЭТО ПРОСТО НЕ РАБОТАЕТ.
На самом деле он работал на MVC2, но больше на MVC3.
Я понимаю, что способ обработки частичных представлений в MVC3 теперь немного отличается от этого понятия «_» (подчеркивание), и я не уверен, что это проблема.
Я попытался переименовать это частичное представление _PingServer… но все равно НЕТ эффекта.
Может быть, я загружаю частичное представление как Html.RenderAction вместо Html.RenderPartial?
Идея состоит в том, что этот вызов должен выполняться каждые 5 секунд, а не менять одну вещь на странице.
Есть мысли ??