新しいプロセスでメソッド(LoadUrl)を実行する方法を教えてください。 問題は、CefSharp(https://cefsharp.github.io)が1回だけ初期化されているため、元に戻すことができないということです。次の要求で "User-Agent"を選択します。新しいプロセスのCefSharp
私はこれを新しいスレッドで試してみましたが、試してみると、Cef.ShutDown()
の後にクラッシュします。Cef.Initialize()
新しいコマンドラインで毎回CefSharpを起動する方法はありますか?
マイコード:
public void LoadUrl()
{
Cef.Initialize(InitializeCef());
CefSharp.OffScreen.ChromiumWebBrowser browser = new CefSharp.OffScreen.ChromiumWebBrowser("", BrowserSettings());
string URL = "http://localhost:3180/";
browser.Size = new System.Drawing.Size(800, 600);
browser.LoadError += (BrowserLoadError);
browser.JsDialogHandler = new JsDialogHandler();
browser.FrameLoadEnd += new EventHandler<FrameLoadEndEventArgs>(browser_FrameLoadEnd);
while (!browser.IsBrowserInitialized)
{
Console.WriteLine("Initializing browser...");
}
browser.Load(URL);
browser.Dispose();
Cef.Shutdown();
}
private BrowserSettings UniBrowserSettings()
{
BrowserSettings settings = new BrowserSettings();
settings.DefaultEncoding = "UTF-8";
settings.JavascriptAccessClipboard = CefState.Disabled;
settings.JavascriptOpenWindows = CefState.Disabled;
settings.JavascriptCloseWindows = CefState.Disabled;
settings.JavascriptDomPaste = CefState.Disabled;
settings.OffScreenTransparentBackground = true;
return settings;
}
private static CefSettings InitializeCef()
{
CefSettings settings = new CefSettings();
settings.UserAgent = DateTime.Now + DateTime.Now.ToString() + " myBrowser " + Cef.CefSharpVersion;
return settings;
}
これは「Chromium」の制限です。https://bitbucket.org/chromiumembedded/cef/issues/421#comment-16410312 – amaitland
@emitland私はCefSharpの実際の初期化には多くのことを考えましたが、なぜそうではないでしょうかCefが初期化されたらUserAgentを変更することは可能ですか?財産権にゲッターとセッターがあるようです。 **編集**私は投稿に書いたことを理解していますが、今編集してもまだUserAgentについて興味があります – Matt
しかし、私は送りたいだけでなく、データも受け取りたいです。そのような接続エラーなど... –