小编Jas*_*iss的帖子

通用 Windows 10 WebView - 如何清除/禁用缓存?

我在清除 UWP 应用程序中的 WebView 缓存时遇到了很多麻烦。

如果我编辑从我的 HTML 页面链接的 JS 文件的内容,除非我重新安装应用程序,否则我无法将更改添加到我的应用程序中。

静态WebView.ClearTemporaryWebDataAsync()方法似乎不起作用。

我还尝试向请求添加标头以禁用缓存:

private void reloadPage()
{
    string url = getUrl();
    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, new Uri(url));
    request.Headers.Add("Cache-Control", "no-cache, no-store, must-revalidate");
    request.Headers.Add("Pragma", "no-cache");
    myWebView.NavigateWithHttpRequestMessage(request);
}
Run Code Online (Sandbox Code Playgroud)

我还尝试了以下操作(我不确定这是否会影响 WebView 的缓存行为),但仍然没有乐趣:

private void onWebviewLoaded(object sender, RoutedEventArgs e)
{
    Windows.Web.Http.Filters.HttpBaseProtocolFilter myFilter = new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
    myFilter.CacheControl.WriteBehavior = Windows.Web.Http.Filters.HttpCacheWriteBehavior.NoCache;
    myFilter.CacheControl.ReadBehavior = Windows.Web.Http.Filters.HttpCacheReadBehavior.Default;

    WebView.ClearTemporaryWebDataAsync().AsTask().Wait();
    reloadPage();
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

编辑(2015 年 12 月 14 日): 我发现向请求添加标头(如上面的第一个代码示例中所示)确实有效,但前提是自安装以来在应用程序的整个生命周期内都存在。这是有道理的,因为它只是说不要缓存这个特定的请求——它仍然可以使用旧的缓存版本。

这暂时是一个障碍,但是能够使用缓存(例如在应用程序会话期间)然后清除缓存(例如在下次启动时)会更好。

编辑(2016 年 7 月 14 日): …

c# windows caching webview uwp

5
推荐指数
1
解决办法
5680
查看次数

如何模拟Nexus 4?

是否可以创建AVD来模拟Nexus 4?

我正在使用Eclipse,我很确定我已经更新了所有SDK工具等,以及4.2 SDK/system Image等.

然而,当我打开AVD管理器添加一个新的AVD,也似乎不再是输入自定义分辨率/密度等,有包含几个设备上droplist的能力,但没有Nexus 4,并没有通用版采用了分辨率为768x1200.

我只是缺少一些明显的东西吗?

在此先感谢您的帮助!

android emulation android-virtual-device

4
推荐指数
1
解决办法
1万
查看次数