0

ツール: Visual Studio 2003 Enterprise Architect、ASP.net WebForms
言語: C#

こんにちは。

初めて HttpHandler を実装したばかりで、うまくいくと思っていましたが、このエラーに直面しています

エラーメッセージ:

プロジェクトの実行中にエラーが発生しました: Web サーバーでデバッグを開始できません。デバッグ HTTP 要求の送信時にサーバー側のエラーが発生しました。サーバーが正しく動作していることを確認します。デバッグなしで Debug.start を実行して、web.config に構文エラーがないことを確認します。オンライン ドキュメントの ASP.NET と ATL サーバーのデバッグに関するトピックも参照してください。

コード:クラス
がありますImageHandler.cs

public class ImageHandler : IHttpHandler
{
 public ImageHandler()
 {
 }
 public void ProcessRequest(HttpContext context) 
 { 
       //blah blah code
       bytes = (byte[])cmd.ExecuteScalar();
   context.Response.BinaryWrite(bytes);
     }
    }

リクエストを呼び出すページに WebHandler を登録しました。

<%@ WebHandler Language="C#" Class="ace.ImageHandler" %>

gridView から HttpHandler を呼び出しています

    <asp:TemplateColumn>
   <ItemTemplate>
       <img src="ImageHandler.ashx?autoid=<%# Eval("Blob_Id").ToString() %>" width="150" height="100" />
     </ItemTemplate>
    </asp:TemplateColumn>

ハンドラーを Web.Config に登録しました

 <httphandlers>
  <add verb="GET" path="ace\ImageHandler.ashx" type="ace.ImageHandler, ImageHandler" />
 <httphandlers>

アップデート:

Debug > Start without Debugging を使用し、WebApp を実行したところ、このエラーが発生しました。

説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下の特定のエラーの詳細を確認し、構成ファイルを適切に変更してください。

パーサー エラー メッセージ: 構成セクション 'httphandlers' を認識できません

ソース エラー:

Line 9:   <system.web>
Line 10:    
Line 11:  <httphandlers>
Line 12:   <add verb="*" path="*.ashx" type="ace.ImageHandler, ImageHandler" />
Line 13:   <httphandlers>

注: ace は名前空間でImageHandler.csあり、クラスです

PS:この記事をフォローしました

4

1 に答える 1

1

<httpHandlers>2 番目の H を大文字にする必要があります。私は自分のプロジェクトで試してみましたが、大文字が重要です。

于 2012-07-06T12:10:06.433 に答える