我正在尝试实现一个自定义HttpHandler(第一次),我已经得到了一个教程,但无法让它工作.然后我找到了另一个教程,但无法让它工作,他们都给了我相同的错误信息.
自定义处理程序是为了保护人们不要下载某些文件类型,虽然我认为错误是一些配置问题,因为一旦我将httpHandlers添加到Web.Config文件,我就无法使网站工作.
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser Error Message: Could not load type 'FileProtectionHandler'. Source Error: Line 47: </compilation> Line 48: <httpHandlers> Line 49: <add verb="*" path="*.pdf" type="FileProtectionHandler"/> Line 50: </httpHandlers>
如果您需要更多代码,请告诉我们.
谢谢你的帮助. J.
<%@ WebHandler Language="VB" Class="FileProtectionHandler" %> Imports System Imports System.Web Imports System.Web.Security Imports System.IO Imports System.Web.SessionState Public Class FileProtectionHandler : Implements IHttpHandler Private Function SendContentTypeAndFile(ByVal context As HttpContext,ByVal strFile As [String]) As HttpContext context.Response.ContentType = GetContentType(strFile) context.Response.TransmitFile(strFile) context.Response.[End]() Return context End Function Private Function GetContentType(ByVal filename As String) As String ' used to set the encoding for the reponse stream Dim res As String = nothing Dim fileinfo As New FileInfo(filename) If fileinfo.Exists Then Select Case fileinfo.Extension.Remove(0,1).ToLower() Case "pdf" If True Then res = "application/pdf" Exit Select End If End Select Return res End If Return nothing End Function Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest context.Response.ContentType = "text/plain" context.Response.Write("Hello World") End Sub Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable Get Return False End Get End Property End Class