不能加载程序集的类型问题(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>