Pregunta

Antecedentes:

http://www.hanselman.com/blog/HanselminutesPodcast188ASPNETMVC2BetaWithPhilHaack.aspx

Iniciar desde 27:. 15, RenderAction se ha discutido en 28:43 que un RenderAction no será parte de Asynchronocity como un método de acción asyncronous llamado

(Digamos que su acción index portal de su casa llamando 1.GetNews 2.GetWeather 3.GetStock asynchronously.You tener un RenderAction mostrar los últimos puestos de usuario en el mismo punto de vista. (GetUserRecentPosts))

Preguntas

¿Qué pasa si mismos RenderActions son asíncronas?

se llamaría GetUserRecentPosts sólo después de artículos Home completado su acción a pesar de que?

En caso de RenderActions ser prestados de forma asíncrona en una vista por defecto?

¿Fue útil?

Solución

No creo que se puede hacer esto con éxito. El punto en el que podría beneficiarse de procesamiento asynch ya ha pasado, cuando comienzan sus puntos de vista de renderizado. El oleoducto MVC que pone en marcha el inicio / final métodos ya se ha completado y la vista no tiene manera de volver a ella en la misma petición. Parece que puede ser atrapado con el procesamiento sincrónico o aplíquese manera de recuperar todos sus datos en la delantera y almacenar en caché en TempData o algo para la representación.

Otros consejos

marco de elevación en Scala es probablemente el único que soy consciente de que tiene acciones parciales paralelas que no bloqueará la prestación del contenido principal, pero van a utilizar Comet-push para entregar el contenido vista parcial de esos bloques que pueden adoptar una mientras que para obtener datos para.

Para usarlo, simplemente envolver un bloque en la vista dentro de un nodo paralelo

<lift:parallel>
     //this is where Html.RenderAction("GottaFetchNetworkDataFromSomewhereView");
    //this is where Html.RenderAction("GottaFetchNetworkDataFromSomewhereView2");
  // would go
</lift:parallel>

Levante también se hará cargo de la inanición conexión de su página para gestionar las peticiones HTTP en la forma adecuada para que los empujes del navegador no se "espera 'redonda".

Por desgracia, ASP.NET MVC tiene escaso apoyo Comet. No hay mucho fuera de controladores asincrónicos, que es una mejora, pero no tan elegante método para largo de votación como, por ejemplo, el marco de Akka suspender ().

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top