Escribo una aplicación C# usando el control WebBrowser, y quiero que todo el contenido que muestre proceda de recursos incrustados, no archivos locales estáticos ni archivos remotos.C# WebBrowser HTML con referencias a scripts e imágenes
Ajuste del texto inicial del control a un archivo HTML incrustado funciona muy bien con este código inspirado en this post:
browser.DocumentText=loadResourceText("myapp.index.html");
private string loadResourceText(string name)
{
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(name);
StreamReader streamReader = new StreamReader(stream);
String myText = streamReader.ReadToEnd();
return myText;
}
Tan bueno como sea, los archivos se hace referencia en el código HTML - Javascript, imágenes como <img src="whatever.png"/>
etc, no funciona Encontré preguntas similares here y here, pero ninguna pregunta exactamente lo que quiero decir, es decir, refiriéndose a incrustado recursos en el archivo ejecutable, no archivos.
Probé res://...
y usando un <base href='..."
pero ninguno parecía funcionar (aunque puede que no lo haya hecho bien).
Tal vez (siguiendo mi propia sugerencia en this question), usar un pequeño servidor web C# incrustado es la única manera ... pero hubiera pensado que hay algún truco para poner esto en marcha?
Gracias!