C# 如何使用CoreWebView2CookieManager在WebView2控件上设置cookie

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

提前谢谢

我试图使用CoreWebView2CookieManager(来自WebView2最新SDK 1.0.705.50的CookieManagement API)在基于WPF的WebView2浏览器控件上设置cookie,但浏览器上未设置cookie

这是我在WPF应用程序中的一段代码:

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”;