MVC网页如何写连续运行的结果

How to write on MVC web-page result of continuous operations

我在网络服务器上进行连续操作(从 sourceFTP 到 targetFTP 的读写周期有很多转换数据)。我网站的技术是 ASP MVC 3。我如何将我的操作成功部分的结果写入我的网页 - 例如 Response.Write,但我的页面非常复杂(母版页和许多控制)。例如

Function Start() As ActionResult

  while true
  ...
     Response.Write (".") 'How to do this???
  ...
  End While

End Function

您通常不会在 MVC 应用程序中使用 Response.Write()。而且你绝对不要使用无限循环,因为它会导致页面从不完成处理并且从不 被发送到浏览器。

如果我没理解错的话,您想向用户显示一个页面并让该页面不断更新来自服务器的信息。如果是这种情况,那么您不希望长运行 进程 在页面 上,您希望它与页面分开。该页面仅显示 UI,其中将包含一些 JavaScript 代码以根据从服务器接收到的数据更新 UI。

为了将更新从服务器推送到浏览器,请查看 SignalR。有几种不同的方法可以做到这一点,这取决于浏览器支持什么,这个库很好地抽象了它们。

具体来说,this walk-through 听起来它非常接近您正在寻找的功能。有一个服务器端循环来处理信息和一个客户端循环来更新 UI 以响应该信息。而SignalR只是简单的提供了两者之间的沟通渠道。

基本上你问的不是一个微不足道的操作,而且有点宽泛。但它的基础是您不能只期望浏览器和服务器自己实时通信。您需要编写执行此操作的代码。