Asp.net mvc 将进度信息从WCF发送到浏览器的最佳方式是什么?

Asp.net mvc 将进度信息从WCF发送到浏览器的最佳方式是什么?,asp.net-mvc,wcf,html,Asp.net Mvc,Wcf,Html,我有一个使用Razor、html5和WCF服务的MVC应用程序。问题是一个WCF服务需要很长时间才能运行,这意味着用户没有指示该服务正在做什么。我想向HTML5客户端发送进度信息,并希望获得一些关于最佳方法的建议。我们将非常感激您的帮助……您必须着手实施。对于Comet或Reverse Ajax,客户端将向服务器发送一个长时间的Ajax调用,并等待响应。因此,在您的情况下,首先HTML5客户端将向服务器发送请求,并等待进度信息,一旦WCF服务返回一些信息,客户端必须再次进行长时间调用,直到过程完

我有一个使用Razor、html5和WCF服务的MVC应用程序。问题是一个WCF服务需要很长时间才能运行,这意味着用户没有指示该服务正在做什么。我想向HTML5客户端发送进度信息,并希望获得一些关于最佳方法的建议。我们将非常感激您的帮助……

您必须着手实施。对于Comet或Reverse Ajax,客户端将向服务器发送一个长时间的Ajax调用,并等待响应。因此,在您的情况下,首先HTML5客户端将向服务器发送请求,并等待进度信息,一旦WCF服务返回一些信息,客户端必须再次进行长时间调用,直到过程完成

有一些开源软件可以帮助简化您的工作,比如或


还有一篇文章讨论了这种方法。

您甚至可以使用signar来实现相反的Ajax目的。如果您想避开这些沉重的框架,并且可能想使用setInterval,您可以查看这篇文章。这篇文章由Dino Espito撰写,其中讨论了如何使用setInterval对服务器进行重复调用以获得进度。由迪诺·埃斯皮托创作,他在其中使用信号器libarary制作了一个上下文相关的进度条


要完整收集他在上下文相关进度条上的文章

您需要发送真实的进度信息(如
7.4%完成
)因为这将是一个真正的挑战,或者只是一个在操作过程中旋转的动画gif,告诉用户他的请求正在被处理?一些文本信息对于我当前正在处理的应用程序来说就足够了。但我有一些即将到来的项目可能需要完成百分比信息。