IHttpHandler
クラスを開発し、それをとして構成しverb="*" path="*"
たので、htmlを動的に生成するテストWebサイト用の独自の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などの基本的なことをスキップしているので、遠慮なく私にはっきりとした応答をしてください。
よろしくお願いします。