如何为 Windows Phone 8.1 运行时通用应用程序禁用 webview 缓存?
How to disable webview cache for Windows Phone 8.1 Runtime universal app?
是否可以为 Windows Phone 8.1 运行时通用应用程序禁用 Webview 控件的缓存?我的应用程序似乎在记住它第一次收到的信息。我的应用程序将我登录到服务中,当我返回以在模拟器中重新运行应用程序时(没有完成关闭模拟器)它会自动登录而不是给我提示。此行为在 NavigationCompleted 处理程序中,如果这有助于更多地解释我遇到此问题的位置。
如果我完全关闭模拟器然后重新启动它,系统会再次提示我输入登录名和密码。当我在我的应用程序的其他部分使用 HttpClient 时,我已经解决了这个缓存问题,方法是在 header 中发送 no-cache 作为:
client.DefaultRequestHeaders.Add("Cache-Control", "no-cache");
我可以为 webview 控件做类似的事情吗?
谢谢!
无法以编程方式进行。
但是为了 Windows 应用程序的测试目的,您可以手动完成 - http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN7。
这是我用来清除解决我的问题的 cookie 的代码:
Windows.Web.Http.Filters.HttpBaseProtocolFilter myFilter = new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
var cookieManager = myFilter.CookieManager;
HttpCookieCollection myCookieJar = cookieManager.GetCookies(new Uri("target URI for WebView"));
foreach (HttpCookie cookie in myCookieJar)
{
cookieManager.DeleteCookie(cookie);
}
是否可以为 Windows Phone 8.1 运行时通用应用程序禁用 Webview 控件的缓存?我的应用程序似乎在记住它第一次收到的信息。我的应用程序将我登录到服务中,当我返回以在模拟器中重新运行应用程序时(没有完成关闭模拟器)它会自动登录而不是给我提示。此行为在 NavigationCompleted 处理程序中,如果这有助于更多地解释我遇到此问题的位置。
如果我完全关闭模拟器然后重新启动它,系统会再次提示我输入登录名和密码。当我在我的应用程序的其他部分使用 HttpClient 时,我已经解决了这个缓存问题,方法是在 header 中发送 no-cache 作为:
client.DefaultRequestHeaders.Add("Cache-Control", "no-cache");
我可以为 webview 控件做类似的事情吗?
谢谢!
无法以编程方式进行。
但是为了 Windows 应用程序的测试目的,您可以手动完成 - http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN7。
这是我用来清除解决我的问题的 cookie 的代码:
Windows.Web.Http.Filters.HttpBaseProtocolFilter myFilter = new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
var cookieManager = myFilter.CookieManager;
HttpCookieCollection myCookieJar = cookieManager.GetCookies(new Uri("target URI for WebView"));
foreach (HttpCookie cookie in myCookieJar)
{
cookieManager.DeleteCookie(cookie);
}