非同步呼叫Web服務

2021-04-13 13:09:09 字數 1290 閱讀 8888

對於某些請求,呼叫webmethod並返回結果的過程需要較長的時間,有時,不能控制從請求資料的web服務,也不能控制這些服務的效能或響應時間,因此,應該考慮非同步使用web服務,發出非同步請求的asp.net應用程式可以在其內部的soap請求等待響應的同時,執行其他程式設計任務,在asp。net應用程式完成其他任務後,在從web服務那裡獲得結果.

要非同步使用web服務,可以使用begin***,end***方法,其中,***是你的web方法名,另外,還可以使用iscompleted來檢查web服務是否已經完成.這是一種方法,本文將討論在.net2.0中非同步呼叫web服務的另外一種方法,當新建乙個webmethod,在客戶端引用這個web服務後,除了可以看到這個web方法外,還可以看到 ***async,*** completed著兩個方法,下面就應用這兩個自動生成的方法來非同步呼叫web服務:

首先新建乙個web服務,用於返回sql server2000中pubs資料庫的authors表的全部記錄,非同步呼叫web服務,web服務部分不需要做任何改動,下面是c#**:

[webmethod]

public

dataset ba_operationclassgetlist()

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

...private

void

button1_click(

object

sender, eventargs e)

private

void

service_ba_operationclassgetlistcompleted(

object

sender, localhost.ba_operationclassgetlistcompletedeventargs e)

private

void

form1_load(

object

sender, eventargs e)

} 至此,這個非同步使用web服務的**已經書寫完畢,我們就可以在等待這個web響應的同時可以顯示乙個滾動條或者提供乙個取消按鈕,可以隨時終止web響應.

同步呼叫與非同步呼叫

一 什麼是同步呼叫與非同步呼叫 定義 1 同步就是整個處理過程順序執行,當各個過程都執行完畢,並返回結果。2 非同步呼叫則是只是傳送了呼叫的指令,呼叫者無需等待被呼叫的方法完全執行完畢 而是繼續執行下面的流程。例如,在某個呼叫中,需要順序呼叫 a,b,c三個過程方法 如他們都是同步呼叫,則需要將他們...

JQ 非同步呼叫

請求 test.php 網頁,忽略返回值。jquery 程式 get test.php 請求 test.php 網頁,傳送2個引數,忽略返回值。jquery 程式 get test.php 顯示 test.php 返回值 html 或 xml,取決於返回值 jquery 程式 get test.ph...

html 非同步呼叫

我們的例項在 open 的第三個引數中使用了 true 該引數規定請求是否非同步處理。true 表示指令碼會在 send 方法之後繼續執行,而不等待來自伺服器的響應。onreadystatechange 事件使 複雜化了。但是這是在沒有得到伺服器響應的情況下,防止 停止的最安全的方法。通過把該引數設...