2012-06-17 36 views
0

我有一個加載到WebBrowser控件在一個遠程網站生成一個asp.net網頁中的桌面VB6應用程序之前。 在這個網頁上有一個標籤和一個按鈕。 該標籤由來自網站上的Access數據庫的文本填充。的可變數量從數據庫讀取寫入數據清除

在asp.net的Page_Load過程有從數據庫返回的數據,並同時返回的值是空字符串的循環重複的函數(在循環中)。 因此,如果沒有數據,每隔2分鐘就會有一次超時。 由於vb6應用程序調用網頁本身就是一個循環,網頁會再次被調用

如果有數據,則page_load完成。 然後vb6應用程序點擊按鈕。 按鈕的單擊事件處理程序中的服務器端代碼然後將相關數據庫條目編輯爲空字符串。 這應該意味着vb6應用程序在下次調用時不應該獲得相同的數據,但是發生的情況是數據在數據庫中清除數據之前可能會在連續調用中發送1,2,3,4次。

我把以0.5秒的延遲在VB6應用程序的按鈕,點擊後,然後一切工作,因爲它應該。

能有人請解釋爲什麼出現這種情況?

+1

更多細節需要像代碼示例,您還應該提到其試圖通過這種方法來解決問題,你可能會得到很好的建議。 – bjan

+1

儘管我無法解決問題,但可能是因爲您的VB6循環在上次Web請求完成之前加載了頁面。 – bjan

+0

@bjan非常感謝您提供我發佈的代碼。在整理它使其顯示;)我發現變量'PageFinished'被設置爲真的子內'WebBrowser1_DocumentComplete'沒有被設置爲false之前按鈕點擊,這意味着我沒有等待要求完成。咄!對不起,我不能投票給你,如果你發佈的答案,我會接受。這一點是嘗試實施長輪詢,以便可以從網頁控制本地vb6應用程序 – jjb

回答

0

「的更多細節需要像代碼示例,您還應該提到其試圖通過這種方法來解決問題,你可能會得到很好的建議。 」 它可能是你的VB6循環之前加載網頁的最後一次網絡請求完成。 - bjan

這是它,我是不是在等待完成的文檔。