2012-06-09 46 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

感谢,我总是想知道关于这个额外的参数!我认为这是这个问题的关键 –

相关问题