0

わかりました、私は今これを求めている忍者のように感じています.

単純な空白HttpHandlerを作成し、メソッドにブレーク ポイントを配置するだけで、ProcessRequestこのボイラー プレート登録マークアップを web.config に記述しました。

<system.web>
    <httpHandlers>
      <add path = "*.jpg" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.jpeg" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.png" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.bmp" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.gif" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.ico" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.css" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false"  />
      <add path = "*.js" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>
4

2 に答える 2

1

問題を見つけました。MVCプロジェクトのViewsフォルダーにあるWeb.configにエントリを作成しました。明らかに、私HttpHandlerが使用して提供しようとしていたアセットは、Viewsフォルダーにありませんでした。

エントリをプロジェクトのルートWeb.configに移動すると、機能し始めました。

于 2013-03-18T10:39:31.757 に答える
0

これは、実行している Web サーバーとインストールしたものによって異なります。プロジェクトとプロパティを右クリックして [Web] タブを選択すると、[Use Visual Studio Development Server] または [Use Local IIS Server] のラジオ ボタンと IIS Express のチェックボックスが表示されます (これはプロジェクトのデフォルトです)。私と同僚のマシンで)。

Visual Studio 開発サーバーを使用する場合、構成は機能するはずです。IIS Express を使用している場合、ハンドラーを別の場所に登録し、属性を少し変更 (削除validateして追加name)する必要があります。

<system.webServer>
  <handlers>
    <add name="StaticJS" path = "*.js" verb = "*" type="AspNetWebFormsApplication.StaticAssetHttpHandler, AspNetWebFormsApplication"  />
  </handlers>
  ....
</system.webServer>
于 2013-03-12T19:37:31.240 に答える