日期:2014-05-20  浏览次数:20448 次

不能加载程序集的类型问题(IHttpHandler)
错误:分析器错误信息:   未能从程序集   System.Web,   Version=1.0.5000.0,   Culture=neutral,   PublicKeyToken=b03f5f7f11d50a3a   中加载类型   abtest.RARHandler。

下面这个实现了IHttpHandler的类是不是放在什么地方都可以啊,还是要放在指定的地方,我想实现防止rar文件的下载,不懂什么是程序集,希望有人能指点。
web.config
<system.web>
<httpHandlers>
<add   verb= "* "   path= "*.rar "   type= "abtest.RARHandler "> </add>
</httpHandlers>
</system.web>


using   System;
using   System.Data;
using   System.Configuration;
using   System.Web;
using   System.Web.Security;
using   System.Web.UI;
using   System.Web.UI.WebControls;
using   System.Web.UI.HtmlControls;


namespace   abtest
{
///   <summary>
///   RARHandler   的摘要说明。
///   </summary>
public   class   RARHandler:IHttpHandler,System.Web.SessionState.IRequiresSessionState
{
#region   IHttpHandler   成员

public   bool   IsReusable
{
get   {   return   true;   }
}

public   void   ProcessRequest(HttpContext   context)
{
HttpRequest   req   =   context.Request;
//从Request对象中获取所请求文件的物理路径
string   RAR_Path   =   req.PhysicalPath;
//设置HTTP输出的MIME类型
string   ContentType   =   "application/x-tar ";
//根据Session中UserName是否存在判断用户是否登陆
if   (context.Session[ "UserID "]   ==   null)
{
//未登陆则设置状态代码为404
context.Response.StatusCode   =   404;
context.Response.End();
}
else
{
//登陆则输出RAR文件
context.Response.StatusCode   =   200;
context.Response.ContentType   =   ContentType;
context.Response.WriteFile(RAR_Path);
}
}

#endregion
}
}

------解决方案--------------------
<add verb= "* " path= "*.rar " type= "abtest, abtest.RARHandler "> </add>