SaveAsync上的ContactStore InvalidCastException

时间:2013-04-11 14:02:12

标签: c# windows-phone-8 task contacts async-await

我正在尝试将联系人保存到Windows Phone(8)联系人存储区。

我的代码没有做任何非标准的事情:

private async Task SaveContactToLocalStore(IMyLocalContact myLocalContact) {

    var store = await ContactStore.CreateOrOpenAsync(ContactStoreSystemAccessMode.ReadWrite,
                ContactStoreApplicationAccessMode.LimitedReadOnly);

    var contact = new StoredContact(store);

    var properties = await contact.GetPropertiesAsync();

    if (!string.IsNullOrWiteSpace(myLocalContact.Nickname) {
        properties.Add(KnownContactProperties.DisplayName, myLocalContact.Nickname);
    }

    /* Several such addition operations are executed, all identical, except for the values */

    await contact.SaveAsync();
}

在标有async的函数中的某个地方,我用以下方法调用我的保存函数:

await SaveContactToLocalStore(myLocalCOntact);

我在contact.SaveAsync()

上收到以下错误:System.InvalidCastException

完整错误文字:

System.InvalidCastException: Specified cast is not valid.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()

我不确定在哪里开始调查。 MSDN中的示例工作正常。

0 个答案:

没有答案