千家信息网

ASP.NET页面的aspx扩展方法是什么

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"ASP.NET页面的aspx扩展方法是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ASP.NET页面的aspx扩展方法是什么
千家信息网最后更新 2026年10月31日ASP.NET页面的aspx扩展方法是什么

这篇文章主要讲解了"ASP.NET页面的aspx扩展方法是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ASP.NET页面的aspx扩展方法是什么"吧!

需求:某网站因业务扩展,需拆分出另一个站点,新旧站点具有相同的内容,但具体栏目表现形式上不一样。原网站运行多年,有大量的图片,这些图片也会在新站上使用。任务是:

保证两个网站图片内容同步,即原来的站点增加一个图片,新站点即可使用这个图片。

分析:假设两个站点的域名分别为:http://www.a_image.com/和http://www.b_image.com/

1、 将图片分别拷到两台服务器,以后上传图片同时上传两台服务器。这种方法虽简单,但是占用巨大的磁盘空间,而且维护麻烦。

2、 在http://www.b_image.com/的页面上直接写https://cache.yisu.com/upload/information/20210521/332/489802.jpg资源请求的处理句柄:

    

Verb列表可以是逗号分隔的HTTP谓词列表(例如"GET,PUT,POST"),也可以是通配符"*";path路径属性可以包含单个URL路径或简单的通配符字符串(例如*.aspx);type指定逗号分隔的类/程序集组合。ASP.NET首先在应用程序的专用\bin目录中搜索程序集DLL,然后在系统程序集缓存中搜索程序集DLL。
从代码层面来看,要实现自定义的HTTP处理句柄,只需要实现一个IhttpHandler接口,其中包括IsReusable和ProcessRequest两个方法。IsReusable方法用于返回应用程序池中是否存在可重用的类实体的信息,利用这个方法可以同时为多个请求服务,而ProcessRequest方法则接受一个HttpContext实体作为参数,从而得到对Request和Response的存取权限。

处理思路:当对www.b_image.com/images/book.jpg的请求到达IIS时,ASP.NET初始化一个图像生成器类,在这个类中,通过HTTP端口把www.a_image.com/images/book.jpg取回来,再将图像流返回到HTTP响应中。接收并处理HTTP请求是在ProcessRequest方法中完成的。客户端并不知道实际发生了什么事情。

代码:

using System;  using System.Net;  using System.IO;  using System.Web;  using System.Drawing;  using System.Drawing.Imaging;   namespace WebHttpModule  {      public class ImageLink : IHttpHandler      {          public void ProcessRequest(HttpContext context)          {              string url = context.Request.Url.ToString();              //if request is http://www.b_image.com/, then changed to request http://www.a_image.com/              urlurl = url.Replace("http://www.b_image.com/", "http://www.a_image.com/");               //如果使用的相对路径,就要手工加入完整的url路径              if (url.IndexOf("http://www.a_image.com/") <= 0)              {                  url = "http://www.a_image.com/" + url;              }               //create one WebClient object, used to request the image of http://www.a_image.com/              WebClient client = new WebClient();              Stream stream = client.OpenRead(url);               Image image = Image.FromStream(stream);              context.Response.ContentType = "image/jpeg";              //将图像写入HTTP响应,返回给客户端请求              image.Save(context.Response.OutputStream, ImageFormat.Jpeg);               image.Dispose();          }           public bool IsReusable          {              get              {                  return true;              }          }      }  }

配置:

1、 将上面的代码编译为ImageLink.dll,在b服务器建立和a机器相同路径的图片目录images,并在其下建立bin目录,将ImageLink.dll拷进去,在b服务器中吧images目录设定为一个应用程序,这样才能针对此应用程序设定相应的程序映射(添加相应的扩展),以把jpg后缀的请求发送到ASP.NET去处理。

2、 在Web.Config中配置代码来设定httpHandlers,我们现在要做的把对images目录下的jpg文件的请求转到ImageLink来处理,因此最终的设定如下:

  

将web.config拷到images目录下。

到此大工就告成了!所有对b服务器请求的jpg图片都会从a机器取到,在客户端却看不出来。

感谢各位的阅读,以上就是"ASP.NET页面的aspx扩展方法是什么"的内容了,经过本文的学习后,相信大家对ASP.NET页面的aspx扩展方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

方法 图片 程序 目录 处理 服务 页面 服务器 路径 代码 内容 应用程序 站点 应用 两个 图像 客户 客户端 网站 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 互联网科技金融公司 互联网未来科技 世界互联网领先科技成果 云电互联网科技 赫美联合互联网科技 互联网科技创新企业排名 互联网巨头投资的硬核科技 互联网金融科技公司干啥的 宁夏科技产业互联网案例 荆州市昕露互联网络科技有限公司 哈尔滨屹滨互联网科技有限公司 江苏互联网智能科技软件 工业互联网科技成果转化 互联网领先科技活动 银川新华互联网科技学校原画 互联网的科技体现在哪里 现代互联网科技公司 广州全民伙伴互联网科技有限公司 互联网 科技节活动 微视频大赛 互联网是第几次科技革命的成果 广州互联网科技公司 友谊互联网络科技 互联网科技英文翻译 广州市恰铎互联网科技有限公司 呼和浩特新华互联网科技学院 国大互联网教育科技有限公司工作 抖集互联网科技技术咨询 科技互联网经济论坛 互联网的黑科技实验室
0