博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net webconfig下的httphandler模块配置
阅读量:5298 次
发布时间:2019-06-14

本文共 3206 字,大约阅读时间需要 10 分钟。

搞了半天的结果。。

//system.web下

//HoWave.Web为项目名称,HandlePictrue为 实现类

        <httpHandlers>
            <add verb="*" path="*.php" type="System.Web.UI.PageHandlerFactory" />
      <!--不要被.net处理的类型-->
      <!--<add verb="*" path="*.html,*.jpg,*.jpeg,*.png,*.bmp,*.gif" type="System.Web.DefaultHttpHandler" />-->
      <!--要被.net处理的类型-->
      <add verb="*" path="*.jpg" type="HoWave.Web.HandlePictrue,HoWave.Web" />
      <add verb="*" path="*.jpeg" type="HoWave.Web.HandlePictrue,HoWave.Web" />
      <add verb="*" path="*.png" type="HoWave.Web.HandlePictrue,HoWave.Web" />
      <add verb="*" path="*.bmp" type="HoWave.Web.HandlePictrue,HoWave.Web" />
      <add verb="*" path="*.gif" type="HoWave.Web.HandlePictrue,HoWave.Web" />
        </httpHandlers>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value="index.aspx" />
            </files>
        </defaultDocument>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
            <add name=".net40_jpg_tg" path="*" verb="*" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" preCondition="integratedMode" />
            <add name=".net40_jpg_tpf" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
            <add name=".net40_jpg" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
        </handlers>
        <modules>
            <!--<add name="myHandlePictrue" type="HoWave.Web.HandlePictrue,HoWave.Web" preCondition="managedHandler" />-->
        </modules>
    <!--程序池要设置为“经典”模式-->
    </system.webServer>

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web;using System.IO;namespace HoWave.Web{    public class HandlePictrue:IHttpHandler    {        public void ProcessRequest(HttpContext context)        {            string requesthost = (context.Request.UrlReferrer == null ? "" : context.Request.UrlReferrer.Host);            string picturehost = context.Request.Url.Host;                        string relationPath = context.Request.FilePath.ToLower();            if (relationPath.EndsWith(".jpg") || relationPath.EndsWith(".jpeg") || relationPath.EndsWith(".png") || relationPath.EndsWith(".bmp") || relationPath.EndsWith(".gif"))            {                context.Response.ContentType = "image/JPEG";                string absolutePath = context.Server.MapPath(context.Request.FilePath);                if (requesthost != picturehost)//盗链,返回提示图片                {                    context.Response.WriteFile("/Img/linknotice/ImageForbiden.jpg");                }                else if (!File.Exists(absolutePath))//图片不存在,返回提示图片                {                    context.Response.WriteFile("/Img/linknotice/ImageNotFound.jpg");                }                else                {                    context.Response.WriteFile(relationPath);                }            }            //else context.RewritePath(relationPath);        }        public bool IsReusable        {            get { return true; }        }           }}

转载于:https://www.cnblogs.com/pukuimin/archive/2013/03/15/2988070.html

你可能感兴趣的文章
字符串压缩
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
关于在Idea 创建Maven项目时,无法在source文件下创建servlet文件问题解决!
查看>>
对 HTTP 304 的理解
查看>>
深入理解css中的margin属性
查看>>
C++ 删除字符串的两种实现方式
查看>>
电容选型
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Spring EL hello world实例
查看>>
百度地图API地理位置和坐标转换
查看>>
MyBatis学习总结(六)——调用存储过程
查看>>
code-代码平台服务器路径
查看>>
离线安装 Visual Studio Express 而不下载整个镜像文件的方法(转载)
查看>>
2017-2018-2偏微分方程复习题解析10
查看>>
Java抽象类和接口的比较
查看>>
iOS UI控件5-UIPickerView
查看>>