我读过这篇关于在F#中实现asp.net HTTP Handler的博客文章
http://codinglight.blogspot.ca/2010/03/writing-your-own-httphandler-in-f.html
我成功完成并将HTML文件发送回客户端。现在,我想做一些不太基础的事情,并发送一个更复杂的HTML文件,其中嵌入了样式和图像。所以我发送了一个包含背景图像属性的HTML文件。问题是浏览器没有手头的图像来显示它。现在我无法弄清楚如何将另一个文件发送到客户端。
博客文章并没有给我留下太多关于如何继续的额外信息,而且我对如何使用HTTP与浏览器进行交互了解不足。所以,我所拥有的只是和HTTP上下文对象,它有很多,但我不知道如何正确使用它。
我提出的最好的是以下代码。它发送HTML但是它刚刚被转储到页面上的图像。
open System.Web;
open System.IO;
open System;
type HttpHandler() =
let path = """c:\users\---\documents\visual studio 2015\Projects\Highnote\Highnote\"""
let imgHeader = """HTTP/1.1 200 OK\r\n
Content-Type: image/gif\r\n
Content-Length: [length in bytes of the image]\r\n
\r\n"""
interface IHttpHandler with
member this.ProcessRequest (context:HttpContext) =
let response = context.Response
let request = context.Request
response.TransmitFile(path + "index.html")
//response.Clear()
response.AppendHeader("ImageHeader", imgHeader)
response.TransmitFile(path + "photo.jpg")
response.End()
member this.IsReusable with get() = true
我如何使用我拥有的资源模拟将其他文件和目录发送到浏览器?