1

私はHTTPハンドラーに関しては初心者であり、現在のコードの問題点を理解するのに苦労しています。

このエラーが発生しているようです

クラス「Handler」は、インターフェース「System.Web.IHttpHandler」の「SubProcessRequest(context AsHttpContext)」を実装する必要があります。

このコードを使用する場合

    <%@ WebHandler Language="VB" Class="Handler" %>

Imports System
Imports System.Web
Imports System.Configuration
Imports System.Data.SqlClient

Public Class Handler

    Implements IHttpHandler

Public Sub ProcessRequest(ByVal context As HttpContext)
Dim connStr As String = ConfigurationManager.ConnectionStrings("myConnectionString").ConnectionString
Dim con As New SqlConnection(connStr)

        ' Create SQL Command 

        Dim cmd As New SqlCommand()
        cmd.CommandText = "Select * from My_Images" +
                          " where id =@id"
        cmd.CommandType = System.Data.CommandType.Text
        cmd.Connection = con

        Dim ImageID As New SqlParameter("@investor", System.Data.SqlDbType.Int)
        ImageID.Value = context.Request.QueryString("id")
        cmd.Parameters.Add(ImageID)
        con.Open()
        Dim dReader As SqlDataReader = cmd.ExecuteReader()
        dReader.Read()
        context.Response.BinaryWrite(DirectCast(dReader("Image"), Byte()))
        dReader.Close()
        con.Close()
    End Sub
    Public ReadOnly Property IsReusable As Boolean _
        Implements IHttpHandler.IsReusable

            Get
                Return True
            End Get
        End Property

End Class

誰かアイデアはありますか?

前もって感謝します

4

3 に答える 3

3

メソッド宣言

Public Sub ProcessRequest(ByVal context As HttpContext)

する必要があります

Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
于 2011-07-27T12:18:24.217 に答える
0

試す:

Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

IsReusable プロパティにも実装が必要です。

于 2011-07-27T12:13:10.417 に答える
0

メソッド宣言が間違っています。これはそれを行う必要があります:

Public Sub ProcessRequest(context As HttpContext) 

MSDN リンク: http://msdn.microsoft.com/de-de/library/system.web.ihttphandler.isreusable.aspx

乾杯 :)

于 2011-07-27T11:53:54.890 に答える