2009-09-18 10 views
0

とのHttpHandlerにアクセスしようとすると、以下のような問題があるページが見つかりません:IIS 5.1

私は(それがWeb.Configのthrought構成されています)IIS 6.0に完全に正常に動作しますHttpHanderを、持っている

<add verb="*" path="MyHandlder" type="MyNamespace.MyHandler"/> 

しかし、私はURL(http://localhost/MyHandlder?somevar=somevalue)でアクセスしようとしているときに、 "ページが見つかりません"というエラーが表示されます。

ありがとうございます。

UPD:この問題は、パスに拡張子がない場合にのみ発生します。 path = "MyHandler.myExt"は正常に動作します。拡張子なしでハンドラを処理するようにIIS 5.1を構成する方法はありますか?

答えて

1

編集:以下は私の元の答えです。私はあなたがIIS 6であなたのために働いていたと言いましたが、これは私の過去の経験ではありませんでした!

IIS 6の設定を確認し、特別なURL書き換え(またはそれに類似したもの)が設定されているかどうかを確認します。


基本的に、IISはファイル拡張子を持たないため、ディレクトリであるかのように見つけようとしています。私はそれがファイル拡張子なしですべてをディレクトリとして扱い、少なくともデフォルトではそれを処理すると信じています。

annakataがこのコメントで言うように、にIISのASP.NET経由での処理を追加します。これは私が試したことではなく、(望ましくない結果の点で)率直に危険なように聞こえますが、ステップバイステップの手順がありますon Chris Love's blog

もう1つの選択肢はURL書き換え(ASP.NETではなくIIS自体で)を行うことですが、可能であればファイル拡張子を含むパスにハンドラをマッピングすることをお勧めします。既にASP.NETで扱われていないファイル拡張子を使用する場合は、その拡張子をISAPIフィルタのリストに追加する必要があります。

Wave Robot APIの場合と非常によく似たことを試みたので、私はこれだけを知っています。詳細についてはmy SO question and the answersをご覧ください。特に受け入れられた答えに対するコメントを確認してください。

+0

マスターに質問することを躊躇する人はいますが、IISがファイル拡張子がないためASP.NETパイプラインを通じて要求をプッシュしない可能性は高くなりますか?したがって、これを解決するコーディングはありませんが、ASP.NETへのワイルドカード処理をバインドすることはできます(でも、それは良い考えが疑わしいかどうか)。 – annakata

+0

@annakata:私たちは暴力的な合意に達していると思います。私が言うように、それはASP.NETに渡すのではなく、ディレクトリのように扱うことを試みています。私はASP.NETにバインドワイルドカード処理をどうやって行うのか分かりません...私は実験したときにはできませんでしたが、私は初心者です。 –

+0

ハハ、かなりそう!さて、これはIISを介して行われた - 便利な1つを持っていないが、このリンクは、IIS6(http://professionalaspnet.com/archive/2007/07/27/Configure-IIS-for-Wildcard-Extensions-in- – annakata

関連する問題