当前位置: 首页 > news >正文

网站有多少个cpa做电影网站侵权吗

网站有多少个,cpa做电影网站侵权吗,百度搜索广告投放,网站建设科做asp.net开发的对.aspx,.ascx和.ashx都不会陌生。关于它们#xff0c;网上有很多文章介绍。“纸上得来终觉浅#xff0c;绝知此事要躬行”#xff0c;下面自己总结一下做个笔记。1、.aspx Web窗体设计页面。Web窗体页由两部分组成#xff1a;视觉元素#xff08;html、服…做asp.net开发的对.aspx,.ascx和.ashx都不会陌生。关于它们网上有很多文章介绍。“纸上得来终觉浅绝知此事要躬行”下面自己总结一下做个笔记。1、.aspx Web窗体设计页面。Web窗体页由两部分组成视觉元素html、服务器控件和静态文本和该页的编程逻辑(VS中的设计视图和代码视图可分别看到它们对应得文件)。VS将这两个组成部分分别存储在一个单独的文件中。视觉元素在.aspx 文件中创建。2、.ascx asp.net的用户控件,是作为一种封装了特定功能和行为这两者要被用在Web应用程序的各种页面上的Web页面被开发的。一个用户控件包含了html、代码和其他Web或者用户控件的组合并在Web服务器上以自己的文件格式保存其扩展名是*.ascx。asp.net里的缺省配置并不允许Web客户端通过url来访问这些文件但是这个网站的其他页面可以集成这些文件里所包含的功能。3、.ashx  前面两个都太熟悉了这个才是要讲的重点。 1、使用举例 .ashx文件是主要用来写web handler的。使用.ashx 可以让你专注于编程而不用管相关的web技术。我们熟知的.aspx是要做html控件树解析的.aspx包含的所有html实际上是一个类所有的html都是类里面的成员这个过程在.ashx是不需要的。ashx必须包含IsReusable属性这个属性代表是否可复用通常为true而如果要在ashx文件用使用Session必须实现IRequiresSessionState接口. 一个简单的实现修改登录用户密码的示例 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Web.SessionState; namespace Test {     public class HandlerTest : IHttpHandler, IRequiresSessionState     {         public void ProcessRequest(HttpContext context)         {             context.Response.ClearContent();             context.Response.ContentType  text/plain;             context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //无缓存             string action  context.Request.Params[action]; //外部请求             if (action  modifyPwd) //用户改密码             {                 string oldPwd  context.Request.Params[pwd];                 //在ashx文件用使用Session必须实现IRequiresSessionState接口                 //Session[LogedUser]是登录用户的会话,用户名和密码都是test                 if (oldPwd.ToUpper() ! ((context.Session[LogedUser]) as Customer).Password.ToUpper()) //用户输入的旧密码和当前登录用户的不相同                 {                     context.Response.Write(旧密码输入错误!);                 }                 else                 {                     context.Response.Write(旧密码输入正确!);                 }             }             context.Response.End();         }         public bool IsReusable         {             get             {                 return true;             }         }     } } 客户端的调用js和页面部分 % Page LanguageC# AutoEventWireuptrue CodeBehindASHXTest.aspx.cs InheritsASHXTest % !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlnshttp://www.w3.org/1999/xhtml head runatserver     titlemytest/title     script typetext/javascript         function $(s) { if (document.getElementById) { return eval(document.getElementById(  s  )); } else { return eval(document.all.  s); } }         function createXMLHTTP() {             var xmlHttp  false;             var arrSignatures  [MSXML2.XMLHTTP.5.0, MSXML2.XMLHTTP.4.0,                          MSXML2.XMLHTTP.3.0, MSXML2.XMLHTTP,                          Microsoft.XMLHTTP];             for (var i  0; i  arrSignatures.length; i) {                 try {                     xmlHttp  new ActiveXObject(arrSignatures[i]);                     return xmlHttp;                 }                 catch (oError) {                     xmlHttp  false; //ignore                 }             }             // throw new Error(MSXML is not installed on your system.);              if (!xmlHttp  typeof XMLHttpRequest ! undefined) {                 xmlHttp  new XMLHttpRequest();             }             return xmlHttp;         }         var xmlReq  createXMLHTTP();         // 发送ajax处理请求(这里简单验证旧密码的有效性)         function validateOldPwd(oTxt) {             var url  /HandlerTest.ashx?actionmodifyPwdpwd  escape(oTxt.value); //.ashx文件             xmlReq.open(get, url, true);             xmlReq.setRequestHeader(If-Modified-Since, 0);             xmlReq.onreadystatechange  callBack;             xmlReq.send(url); // 发送文本         }         function callBack() {             if (xmlReq.readyState  4) {                 if (xmlReq.status  200) {                     alert(xmlReq.responseText); // 接收文本                 }                 else if (xmlReq.status  404) {                     alert(Requested URL is not found.);                 } else if (xmlReq.status  403) {                     alert(Access denied.);                 } else                     alert(status is   xmlReq.status);             }         }     /script /head body     form idform1 runatserver     div         input idtxtOldPwd typetext οnblurvalidateOldPwd(this) /     /div     /form /body /html 分析 a、以前我们通常都是通过一个简单的aspx文件实现的功能其实通过ashx也可以。 笔者曾经写过的一篇ajax:数据传输方式简介 通过对比我们发现aspx要将前后台显示和处理逻辑分开,所以就弄成了两个文件,其实,在最终编译的时候,aspx和cs还是会编译到同一个类中去.这中间就要设计html的一些逻辑处理而ashx不同,它只是简单的对web http请求的直接返回你想要返回的结果.比aspx少处理了html的过程但是ashx也可以处理html的一些逻辑只是通常都不这么用。理论上ashx比aspx要快。 b、还是在相同的旧文里我们知道数据传输的几种方式其实ashx都可以实现修改ashx文件里context.Response.ContentType 即可这里不再赘述了。 2、ashx特别适合于生成动态图片生成动态文本(纯文本jsonxmljavascript等即可)等。  3、.ashx文件有个缺点它处理控件的回发事件非常麻烦。处理数据的回发通常都需要一些.aspx页的功能只有自己手动处理这些功能还不如直接建一个aspx文件来处理。所以一般使用.ashx输出一些不需要回发处理的项目即可。 4、总结 aspx--PPage ascx--CControl ashx--HHttpHandler 当浏览器访问web服务器我们最终接收到的还是html文本。浏览器通过渲染引擎解释这些标签在屏幕上展现出可见的效果。而asp.net不过就是我们应用的一种平台技术来变相解释html的说白了它就是为了提高生产率它的技术术语再多本质上还是html范畴内的东西如果你不通过那些动态页面技术完全利用html和浏览器当然包括js技术来实现动态页面效果那么你会发现效果有了代码量也相当可观.所以说web开发的底层就是一堆的html标签无论是asp.net还是jsp都是对html某种方式的包装是html的产物。 在VS中右击项目添加新项我们找到.ashx文件在新建项模板中叫做“一般处理程序”那么这个一般处理程序用来干吗的呢 我们可以这样地简单理解嗯不需搞得太复杂它就类似.aspx文件用于处理传入到服务器的HTTP请求但它不会像.aspx文件那样要返回处理结果和大量HTML它可以返回简单的字符串、图片等。 大家知道HttpHandle需要在Web.Config文件中进行相应的配置那么如果不配置呢能否直接使用可以的来动手玩玩。 1、在项目中添加一个.ashx文件并改写默代码如下 using System; using System.Web;   public class imageHandle : IHttpHandler {          public void ProcessRequest (HttpContext context) {         context.Response.ContentType image/jpeg;           string imgPath ~/images/{0}.jpg;         //根据请求的查询字符串显示对应图片         switch (context.Request.QueryString[id])         {             case 1:                 context.Response.WriteFile(context.Server.MapPath(string.Format(imgPath, 1)));                 break;             case 2:                 context.Response.WriteFile(context.Server.MapPath(string.Format(imgPath, 2)));                 break;             case 3:                 context.Response.WriteFile(context.Server.MapPath(string.Format(imgPath, 3)));                 break;             default:                 //默认显示第一张图片                 context.Response.WriteFile(context.Server.MapPath(string.Format(imgPath, 1)));                 break;         }     }       public bool IsReusable {         get {             return true;         }     }   } 我简单说一下这个类根据请求的查询参数返回对应的图片所以你可以随便准备3张图片做测试。 2、做好.aspx页面。 % Page LanguageC# AutoEventWireuptrue CodeFileDefault.aspx.cs Inherits_Default %   !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlnshttp://www.w3.org/1999/xhtml head runatserver     title/title /head body     form idform1 runatserver     div         div             img idimg srcimages/1.jpg height300px /         /div         a href# οnclickGetImg(1)1/a          a href# οnclickGetImg(2)2/a          a href# οnclickGetImg(3)3/a     /div     /form /body /html 这个例子是这样的有三个链接分别为1、2、3点击后显示对应的图片。 . 我们在不配置Web.Config的情况下应用了HttpHandle下面我配置一下Web.Config文件。 找到HttpHandlers节并添加一个节点。 add verb* pathloadimg typeimageHandle validatefalse/ 然后把.aspx页面也改一下。 script typetext/javascript     function GetImg(index) {         var myImg document.getElementById(img);         myImg.src ./loadimg?id index;     } /script 这时候神奇地发现无效了。咋回事呢是不是没有把文件放进App_Code的原因 把.ashx文件扔到App_Code目录下结果发现还是不行。 于是我不用.ashx文件直接新建一个.cs文件把刚才.ashx里面的C#代码复制过去并把类名改一下接着运行。 这回成功了是不是就说明在Web.Config中配置的httpHandler对于.ashx中定义的类是无效的
http://icebutterfly214.com/news/17318/

相关文章:

  • 别只调模型!RAG 检索优化真正该测的,是这三件事
  • 跳槽加分项:掌握Dify工作流,我薪资涨了40%
  • 深入解析:[Web网页] LAMP 架构与环境搭建
  • React系列教程:8. 传递函数
  • 杂题选记(10.26 - 11.1)
  • 2025年能注册公司代办的公司哪家好?
  • 2025年11月领先品牌认证机构评测榜:尚普咨询华信人数据对比
  • 2025年11月消防阀门厂家排名榜:国际认证与绿色制造指标评价
  • 2025年11月解酒护肝产品权威榜:蓝帽子认证与成分纯度全对比
  • 2025年11月解酒护肝产品实力榜:权威认证与用户体验深度评测
  • 2025年6月ai排名优化推荐排名榜:权威数据锁定五家优选
  • 从编译到防护:AIoT 开发的 避坑 与 提速 实战
  • 2025年6月GEO优化权威榜:五强对比评测助你决策
  • flanneld检查脚本
  • 2025年知名的减速机用户口碑最好的厂家榜
  • 2025年昆山上海叉车培训公司新排行榜,求推荐叉车培训公司
  • 2025年靠谱的智能无主灯办公楼系统厂家推荐及选择指南
  • 2025年质量好的地井空调通风软管厂家推荐及选购参考榜
  • 2025进出线电抗器厂家哪家好?电抗器厂家权威推荐榜单
  • Agora: language‑to‑protocol gateway.
  • 2025年评价高的减速机厂家最新用户好评榜
  • HbuildX,开发APP应用,真机调试时,netcore,net8.0无法访问本机调试运行的api接口的问题
  • 2025年11月烘干房源头厂家Top10推荐:四川蜀冷烘干房领跑行业
  • 筑牢安全基座——国产制品库如何重塑企业软件供应链防线?
  • C++23的out_ptr和inout_ptr
  • 2025年口碑好的陕西白水苹果精选优质产区
  • 【URP】Unity[后处理]景深DepthOfField
  • 2025年11月市场认证公司榜单:五强资质对比与案例解析
  • 2025年比较好的龟纹石鱼池假山制作厂家实力及用户口碑排行榜
  • 2025年11月折叠滤芯厂家对比榜:五强资质与性能全解析