想用 HttpListener 做web服务器,输出html页面内容,但是html内引用的外部的css和js却不起作用,输出的页面内容如下:<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <script src="plus/jquery-2.1.1.min.js"></script>
  <link href="plus/button.css" rel="stylesheet" />
  <title>Document</title>
 </head>
 <body>
  <button class="button button-primary button-rounded" style="">Hello</button>
 </body>
</html>其中 button 和 hello 的文字可以正常显示,只是button所用的样式并没执行,样式是在服务根目录下的 plus/button.css,
根目录下的 plus/jquery-2.1.1.min.js 也没执行,请问如何让html外调的 样式和js起作用啊?

解决方案 »

  1.   

    HttpListener?
    哪怕只是做一个静态网站,那你可要写很多代码
    别人请求完html,会继续请求引用的css,js等文件,这时候返回给它就可以了,你自己要做好路由进行静态文件解析
      

  2.   

    @stherix 看到很多人说用 HttpListener可以做web服务,可以抛弃IIS,就试了, 您说的继续请求 css,js ,这些在代码里我应该怎么处理啊? 能给点参考代码吗?
      

  3.   


    用HttpListener太麻烦,要写很多东西,不要IIS的话选择也很多
    比如OWIN,kestrel都能selfhost
      

  4.   

    ??????????
    输出html还是html,至于js那是另外的访问(静态文件)话说你只是要抛弃iis,简单啊。远古的Owin.self.host,后来的Nancy,现在的netcore 都行。(netcore都可以跑linux上,你说他还要iis么?和java的spring boot一样,这两种都可以直接做web服务器宿主,根本就不必依赖iis,tomcat)
      

  5.   

    谢谢各位大神的回答,我从网上找了点 Owin.self.host 的资料,大多数都是用 Owin.self.host 实现了web服务,能看到的效果跟我之前用的HttpListener 很像,没有看到怎么处理静态页面+js+css的具体程序实例,我怎么能把已经做好的静态网站放到 Owin.self.host 下,让客户能浏览访问网站页面呢? 请问能提供点代码或资料连接地址吗?
      

  6.   

    Owin.self.host 后面有个静态文件插件类https://www.nuget.org/packages/Microsoft.Owin.FileSystems/这个就是静态文件支持,也就是你要(html,js,css)这类文件的支持
      

  7.   

    上面提供了文件系统的虚拟Microsoft.Owin.StaticFiles这个在文件系统的基础上提供了,静态文件类专属提供