asp.net中配置个handler 但是报错未能加载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net中配置个handler 但是报错未能加载相关的知识,希望对你有一定的参考价值。
<%@ WebHandler Language="C#" Class="BookHandler" %>
using System;
using System.Web;
public class BookHandler : IHttpHandler
//省略
该类在App_code内
web.config中
<?xml version="1.0"?>
<!--
注意: 除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
“网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings>
<add name="connectionStr" connectionString="server=.;uid=sa;pwd=sql2005;database=MyBookShop"/>
</connectionStrings>
<system.web>
<httpHandlers>
<add verb="*" path="Image/BookCovers/*.jpg" type="BookHandler"/>
</httpHandlers>
<compilation debug="true">
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<authentication mode="Windows"/>
</system.web>
</configuration>
错误:
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误信息: 未能加载类型“BookHandler”。
源错误:
行 15: <system.web>
行 16: <httpHandlers>
行 17: <add verb="*" path="Image/BookCovers/*.jpg" type="BookHandler"/>
行 18: </httpHandlers>
行 19: <compilation debug="true">
求救
请按照下面的步骤进行:
1.看看你上次修改程序后,是不是没有编译通过?如果没有编译通过,修改错误的代码。
2.删除原来的bin下面的dll文件(删除该程序生成的dll文件,引用的dll文件不要删除)
3.在VS.NET中,选择“生成”->“重新生成解决方案”。
然后,重新运行,看看是否成功。
2、漏了一点:
如果更改了项目的根命名空间,比如叫xiaoniuge.MicroCMS,而当前项目又是在版本管理状态下,那应该用记事本打开Global.asax文件,把MicroCMS修改为xiaoniuge.MicroCMS即可。
3、今天又发现还有一种情况也会产生这种错误信息:
当项目中的某个.aspx或者.ascx文件被排除在项目外,而有些页面又需要调用这个文件的时候,也会产生这样的错误,此时,你可以将该文件包括到项目中,然后重新编译一下就可以了。
4、解决办法:设置程序目录为虚拟目录 参考技术A <?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings>
<add name="MyBookDB" connectionString="server=.;database=MyBookShop;uid=sa;Pwd=sqlpass" />
</connectionStrings>
<system.web>
<httpHandlers>
<!--图片水印处理程序配置-->
<add verb="*" path="~/Images/*.jpg" type="ImageHandler"/>
</httpHandlers>
<compilation debug="true"/>
<customErrors defaultRedirect="~/Common/DontFound.aspx" mode="On">
<!--自定义错误配置-->
<error statusCode="403" redirect="~/Common/IsNotAccess.aspx"/>
<error statusCode="404" redirect="~/Common/DontFound.aspx"/>
<error statusCode="500" redirect="~/Common/ServerError.aspx"/>
</customErrors>
<!--用户表单验证配置-->
<authentication mode="Forms">
<forms name="CurrentUser" loginUrl="~/Admin/UserLogin.aspx" timeout="30"></forms>
</authentication>
<!--
<authorization>
<deny users="?"/>
<allow roles="Admin"/>
</authorization>
-->
</system.web>
</configuration>
asp.net mvc2.0重写MvcHandler
经过我的测试,在1.0中重写MvcHandler,配置好后会调用自定义的handler,但是在2.0中,确没有任何作用。
这是为什么呢???
代码很简单
什么都没改,简单的继承再override ProceeRequest方法,然后写个IRouteHandler实现GetHttpHandler方法来返回我继承自MvcHandler的IHttpHandler对象,再在global.asax中配置下路由。就这么简单,不知道1楼是否试过?
回复重典======
可否举个配置的例子来,谢谢。过了我会加分的
======================================问题解决了,深入点的问题还是上msdn找答案
MVC2.0中使用BeginProcessRequest方法来处理请求而不实用ProcessRequest。所以得重载BeginProcessRequest
以上是关于asp.net中配置个handler 但是报错未能加载的主要内容,如果未能解决你的问题,请参考以下文章
visual studio 2013 asp.net运行时错误,未能加载文件和程序集