C# 无法设置cookie:Cef.SetCookie()始终返回false

C# 无法设置cookie:Cef.SetCookie()始终返回false,c#,chromium-embedded,cefsharp,C#,Chromium Embedded,Cefsharp,这个问题已经困扰了我好几天了。我完全无法使用CefSharp设置cookie 下面是我希望能够工作的代码块(更重要的是,它尽可能幼稚,不包括显式线程上下文切换): Application.Current.Dispatcher.Invoke(新操作(()=> { var settings=新设置(); settings.CachePath=“cookies”; 初始化(设置); Cef.DeleteCookies(“,”); Cef.VisitAllCookies(new CookieVisito

这个问题已经困扰了我好几天了。我完全无法使用
CefSharp
设置cookie

下面是我希望能够工作的代码块(更重要的是,它尽可能幼稚,不包括显式线程上下文切换):

Application.Current.Dispatcher.Invoke(新操作(()=>
{
var settings=新设置();
settings.CachePath=“cookies”;
初始化(设置);
Cef.DeleteCookies(“,”);

Cef.VisitAllCookies(new CookieVisitor());//Argggh!经过多次尝试和错误后,我发现了这一点。该网站上的一篇帖子帮助我进行了调查:

请尝试为域而不是“/”传递空字符串,或将Url作为“/mywebsite”传递,并将域作为“192.16.1.6”传递

这让我怀疑我的cookie参数是否因为某种原因被拒绝。我最终尝试使用以下参数设置cookie:


var isSet=Cef.SetCookie(,“用户名”,“测试用户”,“假”,“假,假,假,新日期时间(2020,1,1));


更严格地指定URL是成功的关键。我想DNS别名有时还不够好。无论如何,我将离开这篇文章,以防其他
CefSharp
er遇到类似情况。

以下是我在代码下面添加cookie时使用的代码

var mngr = Cef.GetGlobalCookieManager();
Cookie Ac = new Cookie();
Ac.Name = "<Cookie Name>";
Ac.Value = "<Value>";
mngr.SetCookieAsync(<URL to Navigate>, Ac);
var mngr=Cef.getGlobalCokieManager();
Cookie Ac=新Cookie();
Ac.名称=”;
Ac.值=”;
mngr.SetCookieAsync(,Ac);

感谢您对阿卡什·帕特尔的建议。但这个例子在我的案例(CefSharp.OffScreen 71.0.2)中不起作用,因此我将其编辑如下:

//_browser is object of ChromiumWebBrowser
var cookieManager=_browser.RequestContext.GetDefaultCookieManager(null);
Cookie cookie = new Cookie
{
    Name = name,
    Value = value
};
cookieManager.SetCookie(url, cookie);
//or cookieManager.SetCookieAsync(url, cookie);
//_browser is object of ChromiumWebBrowser
var cookieManager=_browser.RequestContext.GetDefaultCookieManager(null);
Cookie cookie = new Cookie
{
    Name = name,
    Value = value
};
cookieManager.SetCookie(url, cookie);
//or cookieManager.SetCookieAsync(url, cookie);