如何区分不同参数的WCF函数调用?

时间:2012-06-09 16:07:54

标签: wcf silverlight

我正在使用WCF在Silverlight应用程序中读取电子邮件(IMAP)(Visual Studio 2010,C#)。我创建了一个读取电子邮件的函数,它需要一个字符串参数,可以是收件箱,发件箱或草稿,如何在myFunctionCompleted函数中理解myFunctionAsync中我的输入参数是什么?

例如我打电话:

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

我应该拨打ReadMailCompleted两次(每个ReadMailAsync)吗?如何区分我的ReadMailCompleted以便我能读出正确的结果?

1 个答案:

答案 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...
}