Trabalhando com página da Web criada localmente no CefSharp
Eu tenho um navegador CefSharp criado no meu Winform e preciso criar dinamicamente uma página HTML na memória e depois fazer com que o CefSharp a processe.
Idealmente, eu gostaria de passar ao construtor uma string com o HTML, mas ele espera um URL. A resposta provavelmente é não, mas existe uma diretiva com a qual você pode anexar a string para que o CefSharp saiba que é uma string que contém uma página da web? Então o CefSharp criará um arquivo temporário?
Caso contrário, onde está definida a pasta temporária do Chromium? Funcionará se eu gravar um arquivo para lá e depois passar como um caminho totalmente qualificado? Sei que o Chrome oferecerá suporte a algo como arquivo: ///Users/dmacdonald/Documents/myFile.htm como um URL, mas não sei como formar um URL se estiver usando a estrutura temporária.
Aqui está o meu novo código, mas o objeto do meu navegador não possui uma propriedade ResourceHandler. Eu vejo que tem um ResourceHandlerFactory
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp.WinForms;
using CefSharp;
namespace DanCefWinForm
{
public partial class Form1 : Form
{
public const string TestResourceUrl = "http://maps/resource/load";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ChromiumWebBrowser browser = new ChromiumWebBrowser("http://maps/resource/load")
{
Dock = DockStyle.Fill,
};
var handler = browser.ResourceHandler;
browser.Location = new Point(20, 20);
browser.Size = new Size(100, 100);
this.Controls.Add(browser);
}
}
}