2011-03-25 115 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

相關問題