C# 如何使用CoreWebView2CookieManager在WebView2控件上设置cookie
提前谢谢 我试图使用CoreWebView2CookieManager(来自WebView2最新SDK 1.0.705.50的CookieManagement API)在基于WPF的WebView2浏览器控件上设置cookie,但浏览器上未设置cookie 这是我在WPF应用程序中的一段代码:C# 如何使用CoreWebView2CookieManager在WebView2控件上设置cookie,c#,.net,cookies,webview,webview2,C#,.net,Cookies,Webview,Webview2,提前谢谢 我试图使用CoreWebView2CookieManager(来自WebView2最新SDK 1.0.705.50的CookieManagement API)在基于WPF的WebView2浏览器控件上设置cookie,但浏览器上未设置cookie 这是我在WPF应用程序中的一段代码: private void ButtonNavigateToLocal(object sender, RoutedEventArgs e) { string uri = @"http://w
private void ButtonNavigateToLocal(object sender, RoutedEventArgs e)
{
string uri = @"http://www.dnndev.me/";
var cookie = _webView.CoreWebView2.CookieManager.CreateCookie("TestCookie", "XJKDKD", ".me", null);
cookie.IsHttpOnly = true;
cookie.IsSecure = true;
_webView.CoreWebView2.CookieManager.AddOrUpdateCookie(cookie);
_webView.CoreWebView2.Navigate(uri);
}
我只是想知道这里有没有我遗漏的东西?我是否还需要使用WebResourceRequested事件来设置cookie?任何线索或示例都将不胜感激。问题是您将cookie域设置为顶级域
.me
。这是不合法的,出于安全原因,浏览器不会发送它
想象一下,如果你将它设置为.com
,那么它会将cookie发送到半个世界。所以这是禁止的
相反,将其设置为.dnndev.me
——然后它将被发送到您的域
您还可以设置:cookie.IsSecure=true代码>-然后它将只发送到https
请求。将其设置为false
以包括http
请求
同时将path
设置为/
-然后它将被发送到服务器上的所有路径。您怎么知道,它没有设置?你怎么查的?您确定域与您的源代码中的域相同吗?@Poul Bak:是的,我在开发工具(应用程序选项卡-->Cookies下拉列表)上检查过,源代码和域是相同的。谢谢,我可以根据您的建议设置cookie。以下是我所做的更改:cookie.path=“/”;(当路径为“/”或null或string.empty时设置Cookie),Cookie.IsSecure=false;cookie.domain=“.dnndev.me”;