asp.net-mvc - tutorial - webforms vs mvc




Espere la página en ASP.NET MVC (4)

Aún puede usar Response.Write () y Response.Flush () para cualquier estado que desee enviar por cable. O si tiene su progreso en un control de usuario, podría hacer algo como:

this.PartialView("Progress").ExecuteResult(this.ControllerContext);
this.Response.Flush();

desde su controlador mientras hace su larga operación en el método de acción del controlador.

Depende de usted elegir este o el enfoque del lado del cliente como se menciona en los comentarios aquí, solo quería señalar que el lado del servidor aún es posible.

Una página ejecuta varias tareas y tarda mucho tiempo en procesarse. Queremos brindarle al usuario sus comentarios a medida que se completa cada tarea.

En los formularios web ASP.NET usamos Response.Flush()

¿De qué manera abordarías esto en ASP.NET MVC?


Hay dos formas básicas:

  1. Sondee una página de servidor que devuelve el estado, luego, una vez que la operación finaliza, redirige a una página de resultados. MVC no tiene nada que ver con esto, necesitarías usar una variable de servidor para almacenar objetos / estado; esta es una forma que es más relevante para una aplicación Asp.NET estándar ya que (presumiblemente) usas variables de sesión, etc. de todas formas.

  2. Llamada AJAX del cliente a un servicio web en el servidor. Asp.NET MVC va a implementar el marco jQuery, así que úselo para la llamada del cliente y el manejo de eventos para la respuesta. Esto estaría más en el espíritu de MVC que no / no debería usar el estado de sesión, etc.



Yo personalmente consideraría dos opciones:

  • redireccionar para esperar página (s), luego disparar acciones
  • Hazlo estilo ajax




webforms