2012-06-09 96 views
1

我正在使用WCF在我的Silverlight應用程序(Visual Studio 2010,C#)中讀取電子郵件(IMAP)。我創建了一個讀取電子郵件的函數,它需要一個可以是收件箱,發件箱或草稿的字符串參數,我如何理解我的myFunctionCompleted函數中輸入參數myFunctionAsync是什麼?如何區分具有不同參數的WCF函數調用?

比如我打電話:

ReadMailAsync("inbox"); 
ReadMailAsync("outbox"); 

要我打電話ReadMailCompleted兩次(每次一個ReadMailAsync)?我如何區分我的ReadMailCompleted,以便我可以閱讀正確的結果?

回答

2

您可以通過文件夾作爲asyncState對象同時呼籲ReadMailAsync

var folder = "inbox"; 
ReadMailAsync(folder, folder); 

的asyncState對象將被歸還給您在ReadMailCompleted處理:

void OnReadMailCompleted(object sender, ReadMailCompletedEventArgs e) 
{ 
    var folder = e.Result.AsyncState as string; //now you have the input parameter... 
} 
+0

感謝,我總是想知道關於這個額外的參數!我認爲這是這個問題的關鍵 –

相關問題