1

すべてのリクエスト (verb="*", path="*") を受け入れる独自のリダイレクト httpHandler を作成しました。

  <system.webServer>        
         <handlers>
            <remove name="Redirect" />
        <add name="staticFileHandler" path="*.html" type="System.Web.StaticFileHandler" verb="GET,HEAD"  />
        <add name="Redirect" path="*" verb="*" type="RedirectModule.RedirectHandler, 
RedirectModule, Version=1.0.0.0, Culture= neutral, publicKeyToken=77c8b6b494e19eeb" resourceType="Unspecified" preCondition="integratedMode" />         
        </handlers>
    </system.webServer>

http ハンドラーには、URL をチェックし、ブラウザーがモバイルの場合はリダイレクトするコードがあります。この場合、ブラウザーがモバイルでない場合、または既にリダイレクトされている場合は、静的ファイルの実行を続行し、そのコンテンツを表示したいと考えています。

私たちが抱えている問題は、使用している http ハンドラーがすべての要求を受け入れるため、StaticFileHandler が HTML ファイルを処理せず、常に白い画面が表示されることです。

コードまたは web.config を介して httphandler から staticFileHandler に実行を渡すにはどうすればよいですか。

どんな助けにも感謝します。

オリット

4

1 に答える 1

3

ハンドラーは、いつファイル拡張子を処理するかではなく、ファイル拡張子 (物理的または論理的) を処理する方法のみを決定する必要があります。モジュールを作成するつもりだったと思います。

Jon Galloway によるこの回答と、ハンドラーとモジュールに関するこのMSDN の記事を参照してください。

編集: また、ASP.NET/Mobileの最初のハウツーもご覧ください。Web フォームと MVC の両方でこれを実現する方法を示します。

于 2012-04-17T15:15:37.587 に答える