IHTTPハンドラRequestオブジェクトと仮想ディレクトリの問題
-
19-09-2019 - |
質問
私は、スクリプトやCSSの組み合わせのためにIHTTPハンドラを継承するクラスを書いています。私は、クエリ文字列が定義された特別なパラメータを持っている場合は結合したいです。このパラメータが定義されていない場合、私は、ハンドラにも関与していないかのようにファイルの内容を書きたいです。私が遭遇してる一つの問題は、私は、仮想ディレクトリにスクリプトを指しますが、私は当たっていますページは、アプリケーションのサブディレクトリにあるページにスクリプトタグを持っているということです。
// Webサーバ/管理/デフォルト:制御スクリプトから参照されていることページは HTTPに位置しています。 ASPXする。私はIHTTPハンドラを実装するクラスでRequestオブジェクトにアクセスすると、すべてのファイルパスのプロパティは以下の通りです:Webサーバ/管理/〜/ SharedScripts / control.js。私はこれをどのように解決するのですか?
解決 2
これは私が思いついた解決策はあります:
string fileContent = string.Empty;
string filePath = context.Request.PhysicalPath;
int tildeLocation = filePath.LastIndexOf("~");
string location = (tildeLocation == -1 ? filePath : context.Server.MapPath(filePath.Substring(tildeLocation, filePath.Length - tildeLocation)));
他のヒント
基本的に、あなたはResolveUrl
方法を必要としますが、そのことについてはPage
、または任意のコントロールを持っていません。 この記事には、手元にPage
オブジェクトなしでそれを行う方法について説明します。
所属していません StackOverflow