显示服务器进度

时间:2011-03-25 10:07:25

标签: vb.net wcf

我有一个登录表单,用户将通过该表单登录我的应用程序。我有一个服务器,在WCF中提供服务。我正在使用服务器上的服务来验证用户。我必须在客户端显示服务器进度时间。这可能吗??请帮忙

提前thnx。

2 个答案:

答案 0 :(得分:1)

您如何衡量服务器上的进度?通常显示可以测量的处理的进展。例如,如果您需要处理1000条记录,则可以显示进度,但如果您需要验证用户,则根本无法进行,因为处理中没有可持续的可测量增量。此外,测量进度需要双工通信=客户端将请求某些内容,服务器将发回回调通知增量。但是,只有在客户端通过身份验证时,服务器才能发送回调,因此您无法将身份验证的进度发送回客户端。顺便说一句。身份验证应该不会超过几秒钟,因此没有理由显示进度。使用一些动画gif(在Web应用程序的情况下)或更改光标(在WinForms或WPF的情况下)来显示处理。

答案 1 :(得分:0)

如果您控制并且可以更改WCF服务,那么可能会使其成为双工服务并让服务将进度信息发回客户端。

有关双工服务的详细信息,请参阅Here

另一种可能性是从客户端异步调用Login操作,并在WCF服务中提供一个方法来轮询来自客户端的进度。有关异步调用服务操作的信息,请查看here

或者也许是最简单的方法,从客户端异步调用Login操作,并向用户显示一个带有动画的对话框和“登录...请稍候!”

老实说,我会采取简单的方法......