我正在为客户开发基于webview的应用程序。它基本上是一个自助服务终端应用程序。可以配置哪个网站将在webview中。现在,当网站更新时,更改不会反映在网站上。 webview使用网站的缓存版本。谷歌搜索问题导致我的结论是,我需要从INetCache
删除%localappdata%\Packages\PACKAGE_ID_OF_APP\AC
文件夹的内容。我知道在WinRT中访问此文件夹是不可能的。所以任何人都知道如何清除缓存?
我认为使用powershell我可以删除该文件夹。我的应用程序不会在商店发布。应用程序使用企业密钥进行侧载。因此可以从WinRT应用程序调用powershell脚本吗?
答案 0 :(得分:0)
powershell命令删除项删除文件或文件夹。要阻止它提示确认删除,请在emd。添加-recurse。
Remove-Item c:\appdata\local\microsoft\windows\inetcache -recurse
答案 1 :(得分:0)
我知道这个解决方案不是“来自代码”,尽管我只花了半天时间尝试通过Visual Studio解决此问题。我希望这能节省一些时间和头痛。
在我当前版本的Visual Studio 2015 CTP中,我也遇到了同样的问题。我正在调试js,Webview Facade不会重新加载新的js文件以进行调试。为了强制它这样做,在Solution-> Properties-> Debug->中有一个设置。选中"Uninstall and then re install my package. All information about the application state is deleted"
框。然后执行以下步骤:
1.Build -> Clean
2.Build -> Rebuild Solution
3.Build -> Deploy Solution
4.Finally F5 re run your test on the remote machine.
希望您加载到Webview会话中的JavaScript文件能够反映您的更改。
答案 2 :(得分:0)
您可以通过注入一些Javascript来执行等效的<CTRL + F5>
:
MyWebView.InvokeScriptAsync("eval", new string[] { "location.reload(true)" });
传递true
会绕过缓存。请参阅docs。