【发布时间】:2010-09-21 10:03:34
【问题描述】:
我正在使用 WebBrowser 控件编写一个 C# 应用程序,我希望我显示的所有内容都来自嵌入式资源 - 不是静态本地文件,也不是远程文件。
将控件的初始文本设置为嵌入的 HTML 文件非常适用于受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;
}
尽管如此,HTML 中引用的文件 - javascript、<img src="whatever.png"/> 等图像都不起作用。我发现了类似的问题here 和here,但两者都没有问确切我的意思,即引用exe 中的嵌入 资源,而不是文件。
我尝试了res://... 并使用了<base href='...",但似乎都不起作用(尽管我可能没有做对)。
也许(按照我自己对 this question 的建议),使用一个小的嵌入式 C# 网络服务器是唯一的方法......但我会认为有一些技巧可以实现这一点?
谢谢!
【问题讨论】:
标签: c# .net webserver resources href