我开发了一个IHttpHandler
类并将其配置为verb="*" path="*"
,因此我正在使用它处理所有请求,以尝试为动态生成 html 的测试网站创建我自己的 REST 实现。
因此,当对 .css 文件的请求到达时,我必须执行类似的操作context.Response.WriteFile(Server.MapPath(url))
……对于图片等,我必须自己响应所有内容。
我的主要问题是当我将相对 URL 放入锚点时;例如,我有一个带有这样链接的主页<a href="page1">Go to Page 1</a>
,而在第 1 页我有另一个链接<a href="page2">Go to Page 2</a>
。第 1 页和第 2 页应该处于同一级别 (http://host/page1
和http://host/page2
,但是当我单击转到第 2 页时,我在处理程序中得到了这个 url:~/page1/~/page2
... 什么是痛苦,因为我必须做一个 url = url .SubString(url.LastIndexOf('~')) 用于清理它,虽然我觉得没有错,这种行为是完全正常的。
现在,我可以应付它,但我认为将来这会让我有些头疼。我尝试使用 的信息设置所有带有绝对 URL 的链接context.Request.Url
,但这也很痛苦 :D,所以我想知道是否有更好的方法来做这些事情。
不要犹豫,给我非常明显的回应,因为我在 Web 开发方面还很新,可能我正在跳过一些关于 URL、Http 等的基本知识。
在此先感谢和亲切的问候。