ashx学习

ashx学习net 里的 ashx 跟 java 里的 servlet 类似 可以不用管 html 之类的东西 新建一个空的 asp net 项目 不是空的也可以 添加一个 webhandlerco wtf ashxwtf ashx cs

.net 里的ashx跟java里的servlet类似,可以不用管html之类的东西。

新建一个空的asp.net项目,不是空的也可以。

添加一个web handler codebehide:

wtf.ashx

<%@ WebHandler Language="C#" Class="testashx.wtf" %>

wtf.ashx.cs

//------------------------------------------------------------------------------ // 
   
     // 此代码由工具生成。 // 运行时版本:4.0.30319.18444 // // 对此文件的更改可能会导致不正确的行为,并且如果 // 重新生成代码,这些更改将会丢失。 // 
    //------------------------------------------------------------------------------ namespace testashx { using System; using System.Web; using System.Web.UI; public class wtf : System.Web.IHttpHandler { public bool IsReusable { get { return false; } } public void ProcessRequest (HttpContext context) { context.Response.Write (typeof(wtf)); } } } 

也可以不是codebehide,只要继承System.Web.IHttpHandler,如添加一个类

ta.cs

using System; using System.Web; namespace testashx { public class ta : System.Web.IHttpHandler { public bool IsReusable { get { return false; } } public void ProcessRequest(HttpContext context) { context.Response.Write("aaa"); } } }

这里测试用的是jexus,在服务器上新建部署目录/home/www/testashx,把编译的bin拷到这个目录下,把wtf.ashx也拷到这个目录下,把Default.aspx也拷到这个目录下。

来一个:

[root@centos7 ~]#curl 127.0.0.1:/wtf.ashx

testashx.wtf [root@centos7 ~]#

可以像

curl 127.0.0.1:/Default.aspx

一样愉快地访问了。

如果不是codebehide,在web.config 的

里加映射,那么前面加的那个ta.cs类,就这样:

 
      
      
      
       
        
        
         
         
        
        
        
        
        
         
        
        
         
        
        
        
        
        
        
       
     

试下:

curl 127.0.0.1:/tmd

返回:

[root@centos7 ~]# curl 127.0.0.1:/tmd aaa [root@centos7 ~]# 

所以,ashx文件不是必须的。

[root@centos7 tashx]# ll total 12 drwxr-xr-x. 2 root root 25 Sep 12 21:55 bin -rw-r--r--. 1 root root 393 Sep 12 21:11 Default.aspx -rw-r--r--. 1 root root 1192 Sep 12 22:08 web.config -rw-r--r--. 1 root root 57 Sep 12 21:41 wtf.ashx [root@centos7 tashx]# 

bin下有这些

[root@centos7 tashx]# ll bin total 8 -rw-r--r--. 1 root root 4608 Sep 12 21:54 testashx.dll [root@centos7 tashx]# 

哦,jexus配置是这样的:

[root@centos7 jexus]# pwd /usr/jexus [root@centos7 jexus]# ls def.py jwsHttpd.exe.so jxHost2.dll state2.conf jws jwsLog.exe jxHost2.dll.so state4.conf jws.conf jwsState.exe jxHost.dll jws.exe jxAspx2.dll jxHost.dll.so jwsHttpd2.exe jxAspx2.dll.so log jwsHttpd2.exe.so jxAspx.dll os.def cron jwsHttpd.exe jxAspx.dll.so siteconf [root@centos7 jexus]# cd siteconf/ [root@centos7 siteconf]# ls default tashx [root@centos7 siteconf]# cat tashx # # Web Site: CM_MC_UNIVERSAL # port=28888 root=/ /home/www/tashx hosts=* # addr=0.0.0.0 # CheckQuery=false # NoLog=true # NoFile=/index.aspx # Keep_Alive=false # UseGZIP=true # UseHttps=true # DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24 # AllowFrom=192.168.*.* # DenyDirs=~/cgi, ~/upfiles # indexes=myindex.aspx # rewrite=^/.+?\.(asp|php|cgi|pl|sh)$ /index.aspx # reproxy=/bbs/ http://192.168.1.112/bbs/ # Jexus php fastcgi address is '/var/run/jexus/phpsvr' # # fastcgi.add=php|socket:/var/run/jexus/phpsvr # php-fpm listen address is '127.0.0.1:9000' # fastcgi.add=php|tcp:127.0.0.1:9000 [root@centos7 siteconf]#

哦,添加完项目jexus 的host文件后,要重启jexus,就是这个:

[root@centos7 siteconf]# ll /usr/jexus/siteconf/tashx -rw-r--r--. 1 root root 767 Sep 12 21:20 /usr/jexus/siteconf/tashx [root@centos7 siteconf]#

重启:

[root@centos7 jexus]# ./jws Usage: jws {start|stop|restart|regsvr|status|-v} [root@centos7 jexus]# pwd /usr/jexus [root@centos7 jexus]# ./jws restart Restarting ... OK [root@centos7 jexus]#




















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212905.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午6:59
下一篇 2026年3月18日 下午6:59


相关推荐

  • KaTeX 数学符号列表[通俗易懂]

    KaTeX 数学符号列表[通俗易懂]数学符号希腊字母LaTexKaTex===isequalto=≠\ne̸​=isnotequalto\ne≈\approx≈isapproximatelyequalto\approx+++plus+−-−minus-±;∓\pm;\mp±;∓plus-minus;minus-plus\pm;\mp…

    2025年7月9日
    7
  • android倒计时功能的实现(CountDownTimer)[通俗易懂]

    android倒计时功能的实现(CountDownTimer)[通俗易懂]在逛论坛的时候,看到一个网友提问,说到了CountDownTimer这个类,从名字上面大家就可以看出来,记录下载时间。将后台线程的创建和Handler队列封装成一个方便的类调用。    查看了一下官方文档,这个类及其简单,只有四个方法,上面都涉及到了onTick,onFinsh、cancel和start。其中前面两个是抽象方法,所以要重写一下。         下面是官方给的一个小例子:ne

    2026年1月16日
    4
  • 渗透测试工具——SET「建议收藏」

    渗透测试工具——SET「建议收藏」社会工程学使用计谋、假情报或人际关系去获得利益和其他敏感信息。 攻击对象一-一人一-秘密信息的保存者,信息安全链中最薄弱的环节。 利用受害者的本能反应、好奇心、信任、贪婪等心理弱点进行欺骗、伤害。常见的社会工程学攻击方式环境渗透:对特定的环境进行渗透,是社会工程学为了获得所需的情报或敏感信息经常采用的手段之一。社会工程学攻击者通过观察目标对电子邮件的响应速度、重视程度以及可能提供的相关资料,比如一个人的姓名、生日、ID电话号码、管理员的IP地址、邮箱等,通过这些收集信息来判断目标的网

    2022年8月12日
    9
  • html卷轴展开动画,Flash制作卷轴展开的动画

    html卷轴展开动画,Flash制作卷轴展开的动画推荐:Flash制作搞笑QQ表情动画副标题#e#QQ表情已经成为一种流行文化,聊天的时候我们经常会被一些搞怪的QQ表情逗得忍俊不禁。其实这些表情制作的方法并不难,只要掌握一些Flash的基本操作,我们就可以把自己的好创意也制作成表情。本实例来自我自己画的一套圆圆溜溜搞怪表情中的一个,下面是制作过北京奥运会开幕式上那充满诗意的卷轴,以及它所呈现给我们的一幅幅无法言喻的美妙画面,大家一定还记忆犹新吧…

    2022年5月22日
    38
  • Vue修饰符详解

    Vue修饰符详解一 事件修饰符 stop 阻止事件继续传播 prevent 阻止标签默认行为 capture 使用事件捕获模式 即元素自身触发的事件先在此处处理 然后才交由内部元素进行处理 self 只当在 event target 是当前元素自身时触发处理函数 once 事件将只会触发一次 passive 告诉浏览器你不想阻止事件的默认行为 阻止单击事件继续传播 av on click stop doThis 提交事件不 av on click stop doThis

    2026年3月20日
    1
  • 免费调用Gemini-2.5-flash的秘诀:Nano Banana画布中的AI图像生成优化指南

    免费调用Gemini-2.5-flash的秘诀:Nano Banana画布中的AI图像生成优化指南

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号