1


0

URLルーティング、パスを書き換えますが、MIMEタイプは保持します

URLルーティング用に独自のIRouteHandlerを実装しました。 +拡張子のないファイルの場合、ファイル名をページとしてページディレクトリからロードしようとします:

return (IHttpHandler) BuildManager.CreateInstanceFromVirtualPath(path, typeof(Page));

ただし、正しいURLに変換する必要がある画像とCSSファイル(相対パス付き)もあります。 私はそれらのファイルを次のものでサービスしようとします:

try {
   HttpContext.Current.Server.Transfer(fileName);
} catch (HttpException) {
   throw new HttpException(404, "file not found");
}

これは(Internet Explorerで)正常に動作しますが、Firefoxでエラーが発生します。

_ Styles.cssは、MIMEタイプ「text / html」が「text / css」ではないためロードされませんでした。 _

これはServer.Transferが原因ですか? +ファイルのリダイレクトには何を使用すればよいですか? Response.Redirectはクライアントに表示されます。

1 Answer


0


私は解決策を見つけました。.NET3.5とIIS7は新しいメソッド `Server.TransferRequest`を導入しました。

TransferRequestメソッドを使用すると、リクエストはIISパイプラインを介して送り返されます。 http://msdn.microsoft.com/en-us/library/aa344902.aspx

FirefoxはCSSファイルを再び受け入れてくれます。