0
내 사이트에서 사용하는 파일 핸들러가 여러 개 있으며 코드를 반복적으로 사용했습니다. 정돈하기위한 노력의 일환으로 나는 그들이 모두 상속 할 수있는 공통 기본 클래스 생성 : 내 핸들러의내 메서드가 호출되지 않는 이유를 모르겠다
Public MustInherit Class HandlerBase
Implements System.Web.IHttpHandler, System.Web.SessionState.IRequiresSessionState
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
Public Overridable Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
RequestHandler(context)
End Sub
Protected Overridable Sub RequestHandler(ByVal context As HttpContext)
Select Case context.Request.HttpMethod
Case "GET"
GetFile(context)
Case "POST"
UploadFile(context)
Case "DELETE"
DeleteFile(context)
Case Else
context.Response.ClearHeaders()
context.Response.StatusCode = 405
End Select
End Sub
Protected MustOverride Sub GetFile(ByVal context As HttpContext)
Protected MustOverride Sub UploadFile(ByVal context As HttpContext)
Protected MustOverride Sub DeleteFile(ByVal context As HttpContext)
end class
두 개의 기본 클래스를 상속 한 후 완벽하게 작동을하지만, 하나는 작동하지 않는 것 같습니다.
Protected Overrides Sub RequestHandler(ByVal context As HttpContext)
Select Case context.Request.HttpMethod
Case "GET"
GetFile(context)
Case Else
context.Response.ClearHeaders()
context.Response.StatusCode = 405
End Select
End Sub
내가 핸들러를 액세스하고이 ProcessRequest베이스에 호출되지도 RequestHandler를