我可以在WinRT上使用阻止API吗?

时间:2014-10-30 16:39:37

标签: sqlite windows-runtime windows-store-apps async-await

我们计划使用此项目为WinRT商店应用程序使用sqlite pcl库:https://sqlitepcl.codeplex.com/。所有的api都在封锁。如果我们使用它,Microsoft在应用程序商店审核期间是否会出现问题?

当然api将被包裹在Task.Run中,有点像:

    public Task InsertTestSetForUser(TestItem testItem, long userid)
    {
        return Task.Run(() => InsertTestSetForUserInternal(testItem, userid));
    }

我知道有一个带有异步API的sqlite的impl,但是对于Xamarin来说,它不是便携式的,我们用它来移植到iOS和Android。

1 个答案:

答案 0 :(得分:1)

您的应用必须满足一些要求。关于你的问题(imho)的三个最重要的是:

  1. 您的应用在启动画面上有5秒钟的时间。如果您的数据库设置需要更长时间,请考虑使用扩展的初始屏幕或后台任务。

      

    应用必须在5中渲染第一个屏幕或启动画面   发布后几秒钟。

  2. 您的应用必须在20秒内响应(基本上是5 + 15秒)。

      

    启动后20秒内,应用必须响应用户   输入

  3. 如果UI上的操作需要3秒以上的时间来处理,则必须使用某种状态指示符(例如:不确定的进度条)。

      

    如果应用执行导致设备显示的操作   没有响应超过三秒钟,例如下载数据   通过网络连接或在屏幕或页面之间转换,   应用必须显示视觉进度或忙碌指示。

  4. 所以你看到:没有定义阻塞在认证过程中的真正含义。只需确保将UI用于从UI触发的长操作,并在操作时间超过预期时向用户显示某种进程/状态。只要您的应用程序保持响应,它就不会失败认证(但通过WACK测试很重要)。

    有关详细信息,请参阅:http://msdn.microsoft.com/en-us/library/windows/apps/hh184840(v=vs.105).aspx