2011-03-25 102 views
0

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

thnx提前。

+0

您想在用户进行身份验证时显示进度条吗? – 2011-03-25 10:12:41

回答

0

如果您控制并且可以更改WCF服务的可能性将会使其成为一项双工服务,并让服务向客户端发送进度信息。

对双工服务的更多信息,请参见Here

另一种可能性是从客户端异步调用登录操作,并在WCF服务的方法来轮询来自客户端的进步。有关呼叫服务操作异常请参考here

或者可能是最简单的方法,从客户端异步调用登录操作,并用一些动画和“登录...请稍候!”向用户展示对话框。

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

1

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

+0

假设认证过程由多个步骤组成,可以想象,可以说“我有4个步骤,并且我刚完成第一步,因此我有25%的进步”。为什么你说如果没有身份验证就无法发送进度信息?我会说你应该能够发送进度信息给发送请求的客户端(不管它是一个登录请求)......我同意登录应该足够快,但如果由于某种原因它不是? – ds27680 2011-03-25 10:46:33

相关问题