• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ashx文件的使用小结

ashx文件的使用小结

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了ashx文件怎么打开,ashx文件,ashx文件用什么打开,如何打开ashx文件,ashx是什么文件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一提到Ashx文件,我们就会想到http handler以及图片加载(在之前我们一般使用ASPX或者Webservice去做),一般做法如下:

Handler.ashx:

public bool IsReusable {
  get {
   return true;
  }
}
public void ProcessRequest (HttpContext context) {
  context.Response.ContentType = "image/jpeg";
  context.Response.Cache.SetCacheability(HttpCacheability.Public);
  context.Response.BufferOutput = false;
  PhotoSize size;
  switch (context.Request.QueryString["Size"]) {
   case "S":
    size = PhotoSize.Small;
    break;
   case "M":
    size = PhotoSize.Medium;
    break;
   case "L":
    size = PhotoSize.Large;
    break;
   default:
    size = PhotoSize.Original;
    break;
  }
  Int32 id = -1;
  Stream stream = null;
  if (context.Request.QueryString["PhotoID"] != null && context.Request.QueryString["PhotoID"] != "") {
   id = Convert.ToInt32(context.Request.QueryString["PhotoID"]);
   stream = PhotoManager.GetPhoto(id, size);
  } else {
   id = Convert.ToInt32(context.Request.QueryString["AlbumID"]);
   stream = PhotoManager.GetFirstPhoto(id, size);
  }
  if (stream == null) stream = PhotoManager.GetPhoto(size);
  const int buffersize = 1024 * 16;
  byte[] buffer = new byte[buffersize];
  int count = stream.Read(buffer, 0, buffersize);
  while (count > 0) {
   context.Response.OutputStream.Write(buffer, 0, count);
   count = stream.Read(buffer, 0, buffersize);
  }
}
}
</div>
*.aspx:
<img src="myHttpHander.ashx?id=123" width="20" height="20" />

我们变通以下,发现其实除了可以输出图片以外,还可以输出文字:
Handler.ashx:

    public bool IsReusable {
        get {
            return false;
        }
    }
}
</div>
*.aspx:
弹出alert
<script src="Handler.ashx"></script>
也可以把.ashx当成css文件
<link href="css/Handler.ashx" rel="stylesheet" type="text/css">

xml文件
orderDoc.load("Handler.ashx");

还可以嵌入文字:
Handler.ashx:

 

    public bool IsReusable {
        get {
            return false;
        }
    }
}
</div>
*.aspx:
<script type="text/javascript" src="TestHandler.ashx" />

当你希望从ashx或HttpHandler里访问你的Session时,你必须实现IReadOnlySessionState接口.

代码:

public class DownloadHandler : IHttpHandler, IReadOnlySessionState
{
   public bool IsReusable { get { return true; } }

   public void ProcessRequest(HttpContext ctx)
   {
       ctx.Response.Write(ctx.Session["fred"]);
   }
}
</div>
其实,学习的思路不应该这样,以上除了图片外,我们都用偏了,为什么用偏了呢,因为软件以简单、实用为主,我们只是把以上纯粹看成可一项技术而没有把它放到软件的地位去考虑:)
具体的用途,大家可以参考Rewirte.dll (这个dll,可以使服务器支持伪静态的)

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • *.ashx文件不能访问Session值的解决方法
  • html+ashx 表单提交示例
  • ashx介绍以及ashx文件与aspx文件之间的区别
  • ashx文件的使用小结
  • 后缀为 ashx 与 axd 的文件区别浅析
  • 基于.NET中:自动将请求参数绑定到ASPX、ASHX和MVC的方法(菜鸟必看)
  • Chrome内核下由ashx输出的js代码不起作用的解决方法
  • 在.ashx文件中获取cookies值实现代码
  • 透过ashx看浏览器服务器运行本质(图解)
  • 获取ashx得到的内容(已处理好的数据)

相关文章

  • 2017-05-11ASP.NET中使用开源组件NPOI快速导入导出Execl数据
  • 2017-05-11如何对ASP.NET网站实现静态化
  • 2017-05-11.NET工厂方法模式讲解
  • 2017-05-11三种方法让Response.Redirect在新窗口打开
  • 2017-05-11sealed在C#中的作用说明
  • 2017-05-11将文件上传、下载(以二进制流保存到数据库)实现代码
  • 2017-05-11详解VS2012发布网站步骤
  • 2017-05-11用.NET Core写爬虫爬取电影天堂
  • 2017-05-11.net中线程同步的典型场景和问题剖析
  • 2018-08-20WPF实现定时刷新UI界面功能

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net类库中添加WebService引用出现问题解决方法
    • Asp.Net 网站性能优化之缓字决 (上) 缓冲写数据
    • asp.net中gridview的查询、分页、编辑更新、删除的实例代码
    • asp.net DbProviderFactory的使用-示例
    • asp.net 获取银行货币汇率的代码
    • ASP.NET Web API教程 创建域模型的方法详细介绍
    • .aspx中的命名空间设置实现代码
    • asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
    • Asp.Net Mvc2 增删改查DEMO代码
    • ASP.NET小结之MVC, MVP, MVVM比较以及区别(二)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有