2014-07-25 90 views
1

我对存储在Windows 8.1的应用程序,但是当我尝试使用下一段代码新功能,我想添加到我的应用程序Windows应用商店CurrentApp.LoadListingInformationAsync() - 错误0x801900cc

var listingInfo = await CurrentApp.LoadListingInformationAsync(); 

我收到一个错误,我不完全知道它是什么意思。我确实发现了这个错误,然后我将它显示在一个MessageDialog上,然后我打印了一个屏幕。这是错误:

We could not receive your donation due to an unexpected error: 
System.Exception: Exception from HRESULT: 0x801900CC 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 
task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at ArchMedia_Player.Services.Donations.<ListingInformationAsync> d__0.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 
task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at ArchMedia_Player.Services.Donations.<Donate>d__a.MoveNext() 

有人知道这意味着什么,我该如何解决它? 我还提到,这个工程完全确定:(使用CurrentApp 模拟器

var listingInfo = await CurrentAppSimulator.LoadListingInformationAsync(); 

回答

8

System.Exception: Exception from HRESULT: 0x801900CC

这是一个预期的异常,而你正在开发应用程序。错误代码为BG_E_HTTP_ERROR_204,0xCC编码HTTP响应错误代码。 0xCC == 204,HTTP错误204意味着“无内容”。换句话说,Store服务器不知道您的应用程序有任何应用程序内购买。

这是一个鸡与鸡蛋的问题,服务器不知道您的应用程序内购买,直到之后您提交您的应用程序并获得批准。您必须使用CurrentAppSimuator测试您的应用程序,以调试和测试您的应用内购买。基本操作指南is here。您不可忘记的一个重要步骤就是在提交您的应用程序进行验证之前,用CurrentApp替换CurrentAppSimulator。

当您将应用内购买添加到您的新版本时,您的应用已在商店中并未考虑。关键的步骤是让Store服务器知道您的购买选项。如链接的MSDN文章所述,您在提交应用程序时执行此操作。直到您的提交被批准后,它们才会生效。

所以,不要惊慌,你可以用模拟器测试你的代码。当您确认自己能够正常工作时,只要按照MSDN文章中的步骤操作,在提交应用程序后就没有理由担心这会成为问题。

+0

是的,所以在我添加了可以在应用程序内购买的产品之后,该应用程序不再崩溃并且代码正常工作。显然这是问题所在。尽管如此,它仍然可以工作,并且在我看到一切正常后我将会加入这些产品。谢谢汉斯! :) – TheQuestioner

0

我有同样的例外。我更新了包证书文件(StoreKey.pfx),方法是创建包并登录到Windows Store。它解决了我的问题。