A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋兴征 中级黑马   /  2013-3-21 14:42  /  3271 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 宋兴征 于 2013-3-23 14:08 编辑

杨老师说ashx是最原始的处理程序,那么aspx呢? 它们的区别是什么?
适用场合分别是什么? 最好能举个例子,谢谢!

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

4 个回复

倒序浏览
ashx称为一般处理程序,aspx在webform中他分为两个部分类文件,一个是你建立页面看到的后缀为aspx另一个为aspx.cs文件。他们同属一个类通过partial 关键字写入两个文件。前台页面在不点击查看代码的时候通过页面内容的第一句话“<%@ Page Language="C#" MasterPageFile="~/UIMaster/MasterMain.Master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="Web.About" %>“也就是page指令来判断,微软曾经称aspx比java等等开发更方便维护和编写,因为他们实现前台与后台编码的独立。

那就说说ashx和aspx的用途在哪些场所。
aspx正如上面所说,他实现了前台与后台编码的独立,也就是说适合的场所包括范围很广了,举个简单例子,当你做网页开发的时候,你只有建立一个aspx就可以很方便的对他前台和后台编写了,前台做显示见面,后台对要处理的数据进行业务的分析处理。
ashx要想达到aspx这个效果,要你手写前台编码在通过输出方式进行输出很麻烦。这样虽然可以实现,但增加了开发难度。拉长开发周期,并且不宜维护。
ashx也有他的用途,例子,验证码。通过ashx做出图片,在aspx中img标签的地址写上该ashx的路径就可以了。这样能把部分功能单独拿出,方便维护,假如当你验证码功能出现问题,你只需要单独对这个ashx进行修改就完成了。(该文件并不需要什么前台html标签,只单独实现动态制作图片,所以可以考虑ashx来实现这个功能)

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
ashx是一般处理程序,负责对页面传过来的请求进行处理。使用.ashx 可以让你专注于编程而不用管相关的web技术。
aspx将前后台显示和处理逻辑分开,所以弄成了两个文件.其实,在最终编译的时候,aspx和cs还是会编译到同一个类中去.这中间就要涉及html的一些逻辑处理.
而ashx不同,它只是简单的对web http请求的直接返回你想要返回的结果.比aspx少处理了html的过程.理论上,比aspx要快.

一般处理程序和aspx的使用范围:
ashx:一般情况下,凡是不需要返回大量复杂的HTML代码的时候,可以使用它。
aspx:里面主要存放HTML等浏览器代码。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
ashx是一般处理程序的后缀,aspx是Web网站的后缀。
所谓一般处理程序,可以用来处理简单的Html页面,既然是处理Html,则必须要有一个专门的Html页面与之对应。
而Aspx则有一项Code-Behind技术,前台展示,代码后置,比Ashx方便快捷,但运行没有Ashx快。
回复 使用道具 举报
谢谢大家!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马