2010-10-12 76 views
1

有沒有辦法將處理程序附加到肥皂調用?C#異步肥皂對象處理

例如:

我打電話一排用於驗證數據網格中的每一行。這然後調用異步SOAP服務。在異步的返回是有可能知道哪個行我叫它沒有來回傳遞某種類型的id?

感謝

回答

2

如果爲每一行做一個調用。您可以將這一行作爲用戶狀態傳遞。例如使用基於事件的異步方法http://msdn.microsoft.com/en-us/library/ms730059.aspx

client.AddCompleted += new EventHandler<AddCompletedEventArgs>(AddCallback); 
client.AddAsync(value1, value2, row); 

和檢索回調方法

static void AddCallback(object sender, AddCompletedEventArgs e) { var row = e.UserState as RowType; } 
+0

+1行是更好 – Aliostad 2010-10-12 11:11:29

+0

該用戶是否得到狀態​​發送給服務器?即時嘗試保持它只有可能的客戶端。 – 2010-10-12 11:11:37

+0

UserState停留在客戶端。 – RonaldV 2010-10-12 11:36:14

0

如果您使用的是相同的處理,以處理來自不同行的所有調用,那麼是的,你不得不這樣做。否則,如果你有每行的處理程序,那麼你不。

它與處理程序類似,按鈕點擊。如果對多個按鈕使用相同的處理程序,則需要檢查sender對象。

我建議你在HTTP heades中使用一個值來設置ID並返回調用者。從某種意義上說,這不應該在你的Soap消息中,因爲服務器不需要知道你的ID。