C# windows 服务 : HTML page with picture, CSS 和 JS 作为响应

标签 c# html css

我正在学习构建一个 Windows 服务,但它需要从浏览器到请求(例如 localhost:8081/index)。因此,HTTP 响应应该包含一个 HTML 页面。 当我双击 index.html 文件时,HTML 页面看起来没问题,但是当我从网络浏览器请求时,它丢失了所有的 CSS 和 js 文件。 然后我在 chrome 中打开开发人员工具,发现所有 CSS 和 JS 文件都已损坏,并且包含来 self 的 HTML 页面的代码(很奇怪)。
Screenshot from developer tool

我使用 HttpListenerContext 类来监听 http://localhost/index请求,然后打开 index.html 文件并使用 File.ReadAllBytes(file)。在撰写回复时,我使用了以下代码:

responseBytes = File.ReadAllBytes(file);
response.ContentLength64 = responseBytes.Length;
await response.OutputStream.WriteAsync(responseBytes, 0, responseBytes.Length); 
response.OutputStream.Close();

谁能帮我弄清楚为什么会这样?

最佳答案

于是我在追代码的时候自己想出了答案。当浏览器请求localhost/index进来的时候,GET方法会先获取index.html,然后还有其他GET请求进来获取css、image、js(奇怪后面没看到之前的请求。)

然后我更新了处理程序来编写包含 CSS、图像和 JS 文件的响应。现在一切正常。

关于C# windows 服务 : HTML page with picture, CSS 和 JS 作为响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42374223/

相关文章:

C# HttpClient.SendAsync 等待抛出 NullReferenceException

javascript - AngularJS 显示带有子元素的 div

javascript - 用两个不同的元素切换一件事

html - 如果检测到 ie9 或无法使用渐变功能,请替换渐变色

c# - 如何在 ObjectDataSource 方法中将参数默认值设置为空字符串?

c# - 在后台加载新场景

c# - 使用 Fluent NHibernate 的一对一关系的正确设计是什么?

html - 邮件页脚签名中的 MsoNormal。如何去除?

javascript - 嵌入谷歌地图减去固定的页眉和页脚

html - dd div 在 Chrome 中显示正确的边距,但在 Firefox 中被破坏