问题标签 [akavache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
247 浏览

xamarin - PCL/Xamarin 项目的 Csc/CoreCompile 失败

自从我向其中添加了 Akavache 后,我的 Xamarin 应用程序不再构建。Csc/CoreCompile 失败。如果我删除 Akavache,它构建得很好。没有任何错误,但我可以在输出窗口中找到以下错误:

我在 Xamarin 的 PCL 项目中使用 Akavache 5.0。只有我的应用程序的 PCL 项目无法构建。但是 Akavache 用于另一个/一个名为 My.App.Data 的引用 PCL 项目。目标框架是 Xamarin 标准:.NET framework 4.5、ASP.NET Core 1.0、Windows 8、Windows Phone 8.1、Xamarin.Android、Xamarin.iOS(经典)和 Xamarin.Mac。

只要“C:\Program Files (x86)\MSBuild\14.0\bin\csc.exe”使用 Akavache,构建就会失败:

C:\Program Files (x86)\MSBuild\14.0\bin\csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE /errorendlocation /preferreduilang:en -US /reference:C:\git\App\Packages\akavache.core.5.0.0\lib\Portable-Net45+Win8+WP8+Wpa81\Akavache.dll /reference:C:\git\App\Packages\akavache .sqlite3.5.0.0\lib\Portable-Net45+Win8+WP8+Wpa81\Akavache.Sqlite3.dll ...

0 投票
1 回答
158 浏览

akavache - 如何在 Akavache 中为 DownloadURL() 指定 HTTP 超时?

我正在开发一个针对移动设备的应用程序,所以我必须考虑不良的网络连接。在一个用例中,我需要减少请求的超时时间,因为如果没有可用的网络,那没关系,我会立即回退到默认数据,而无需用户等待 HTTP 响应

我发现它HttpMixin.MakeWebRequest()有一个超时参数(默认值=null)但从DownloadUrl()不使用它,所以前面提到的函数总是等待长达 15 秒:

request.Timeout(timeout ?? TimeSpan.FromSeconds(15), BlobCache.TaskpoolScheduler).Retry(retries);

所以实际上我没有选择使用不同的超时,或者我错过了什么?

感谢您考虑有用的回复。

0 投票
0 回答
302 浏览

xamarin - Akavache 崩溃的 android 应用程序

我正在使用 Xamarin.Forms 并使用此方法来获取我的用户对象

该代码在我的 iOS 模拟器上运行良好,但在 android 上不断崩溃并出现此错误

System.Collections.Generic.KeyNotFoundException 缓存中不存在给定键“NewUser”。

请我需要帮助

0 投票
1 回答
287 浏览

android - LoadImageFromUrl IBitmap 到 ImageSource

我正在使用 Akavache 下面的代码来缓存图像。

Return 是一个 IBitmap,如何将这个 IBitmap 转换为 ImageSource?

0 投票
1 回答
122 浏览

security - Akavache 安全覆盖不起作用

如您所知,akavache 在 iOS 和 Android 上的安全存储存在问题。我正在尝试覆盖 Akavache 使用的安全存储。

我一直在按照肯特给出的例子来解决这个问题: http: //kent-boogaart.com/blog/password-protected-encryption-provider-for-akavache

注意:我不能System.Security.Cryptography在我的代码中使用,因为我们使用的是PCL 的. 因此我正在使用PCLCrypto.

我使用设置类来初始化 DI:

PasswordProtectedEncryptionProvider用作我的自定义覆盖IEncryptionProvider。但是,在类中重写的方法DecryptBlock EncryptBlock,不会被调用!

不明白为什么它没有被调用。

() => providerInstance覆盖它吗?

0 投票
2 回答
339 浏览

uwp - 在 UWP 项目中使用 Akavache + Mobile Center 时生成错误

我有 UWP 应用程序并使用 Akavache。添加 MobileCenter NuGet 包后,我在构建应用程序时遇到了这个问题:

如何在不删除 Akavache 或 VSMC 的情况下修复它?

0 投票
2 回答
959 浏览

xamarin.android - Akavache GetAndFetchLatest 从不调用 fetchfunc

过去几天与 Akavache 合作。我有几种使用 GetAndFetchLatest 方法的方法,但有些方法从不调用 fetchFunc,并且所有函数都随机出现问题。

有人遇到过这个问题吗?我需要做其他事情才能工作吗?如何解决这个问题?

“更新代码”

0 投票
2 回答
227 浏览

ios - Akavache Sqlite 链接错误

我在 iOS 上遇到了 SqlCipher 和 Akavache 的问题。当我使用现有的 SqlCipher 实现将 Akavache 库添加到我的项目时,我在链接过程中遇到了许多重复的 sqlite 错误。

当前的行为是什么?

当我使用 Link SDK 程序集构建 iOS 时,我收到以下 Sqlite 链接错误

如果当前行为是一个错误,请提供重现的步骤,如果可能,请提供问题的最小演示

  • 安装/实现 SqlCipher
  • 安装 Akavache
  • 构建 Xamarin.iOS 项目

预期的行为是什么? Akavache Sqlite 和 SqlCipher Sqlite 一起工作。

哪些版本的 Akavache 以及哪些平台/操作系统会受到此问题的影响?这在以前版本的 Akavache 中有效吗?

  • 阿卡瓦奇 5.0.0
  • iOS 10.3

我不会知道的。SqlCipher 是几个月前实现的,我们现在刚刚将 Akavache 添加到项目中。

其他信息(例如堆栈跟踪、相关问题、如何修复的建议)

在我走上维护分叉的道路之前,我想知道是否有更好的方法?

0 投票
0 回答
286 浏览

xamarin.forms - 调用 BlobCache.LocalMachine 的 Akavache 异常

我有一个新的 VS2017 Xamarin Forms 项目,其中包含以下内容:

  • akavache 5.0.0
  • akavache.core 5.0.0
  • akavache.sqlite3 5.0.0
  • Xamarin.Forms 2.3.4.247

我已将 Akavache 添加到我的 iOS 和 PCL 项目中,并且将 ApplicationName 设置为 Bundle Identifier。当我调用 BlobCache.LocalMachine(PCL 项目)时,我收到以下异常:

System.Exception:您需要调用 SQLitePCL.raw.SetProvider()。如果您使用的是捆绑包,则可以通过调用 SQLitePCL.Batteries.Init() 来完成。发生了

我已将 SQLitePCL.Batteries.Init 添加到我的 AppDelegate(iOS 项目)中的 FinishedLaunching 方法中,但是我仍然收到相同的错误。我也试过 SQLitePCL.Batteries_V2.Init() 但这没有用。

Akavache 工作是否需要一些额外的设置?

0 投票
0 回答
222 浏览

android - Akavache 5.0 值为空

我将 Akavache 5.0 与 Xamarin.Forms 一起使用。我的缓存突然停止工作。我正在使用 Blobcache.LocalMachine 来保存带有对象的键。去年它一直在工作,现在在重新启动应用程序时,它仍然存储了密钥,并带回了所有值为空的对象。我也尝试过使用 Blobcache.UserAccount 和相同的结果。

在我的 App.cs Init() 上,我设置了 Blobcache 的名称并调用了 EnsureInitialize。

是的,我检查了我的 Visual Studio 设置是否设置为在重新启动时为 android 保留缓存。我已将我的应用程序部署到 google play beta 商店,结果仍然相同。

我也在使用我读过的 Azure 移动服务客户端可能会导致一些问题。

任何帮助,将不胜感激。