我正在使用WCF在Silverlight应用程序中读取电子邮件(IMAP)(Visual Studio 2010,C#)。我创建了一个读取电子邮件的函数,它需要一个字符串参数,可以是收件箱,发件箱或草稿,如何在myFunctionCompleted
函数中理解myFunctionAsync
中我的输入参数是什么?
例如我打电话:
ReadMailAsync("inbox");
ReadMailAsync("outbox");
我应该拨打ReadMailCompleted
两次(每个ReadMailAsync
)吗?如何区分我的ReadMailCompleted
以便我能读出正确的结果?
答案 0 :(得分:2)
您可以在调用ReadMailAsync
时将文件夹作为asyncState对象传递:
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...
}