asp.net 处理程序 “ /”应用程序中的服务器错误。

提示:您要查找的资源可能已被删除,已更改名称或者暂时不可用。

已经隔了好久没有写些东西了,最近忙着准备软考与课设。今天为什么以这个为标题呢!是因为最近在做项目的时候发现了一个问题,但是这个问题我在网上没有找到答案后面摸索着解决了问题。出现这个错误问题有很多,但是你能看见我的这篇博客说明你已经试过的都试过了。那就不妨看看是不是问题和我一样呢!

首先当然不可能是我的问题呀,本地可以运行怎么就部署到服务器就找不到资源了?绝对服务器有病,我没错!试过网上N中方法,最终无法解决。后来,我从找不到的资源开始分析,因为我用的是asp.net 处理程序,登录界面是html页面,使用form表单post提交到action=“aaa.do”.。然后在web中注册如下:

    在配置文件中注册http handler
    http handler的类可以在web.config或machine.config文件里注册。这样,一旦有相应的http请求输入,这个http handler类就会被实例化。在web.config或machine.config文件里我们用<httpHandlers>和<add>节点来为我们的应用程序添加http handler类:
<httpHandlers>
       <add verb="*" path="aaa.do" type="namespace.classname, assemblyname" />
<httpHandlers>

在<add>里
    1、verb属性说明了该handler所支持的http请求方式,例如支持post和get方式,verb属性则为"POST,GET";如果支持所有的请求方式,verb属性则用"*"。
    2、path属性说明了对哪些文件的请求才调用该handler来处理,例如你只想在请求my.do文件时才调用该handler,则path属性为"my.do",如果你想所有后缀名为do的文件(*.do)都由该handler来处理,则path属性为"*.do"。
    3、type属性中指定了handler类的命名空间、类名和配件名(工程名)。ASP.NET runtime会首先到应用程序的bin目录下查找该配件的dll,如果没有找到再到GAC里查找。

这里解释一下,在我的项目里面是没有aaa.do这个文件的,如果你请求的是aaa.do这个文件,那么你的url地址后缀就会导向它,按照道理来说服务器会去web配置文件里面找到path然后再执行对应的type里面这个类,在本地visual studio直接运行没有问题,部署到服务器找不到aaa.do这个对应的类。

解决方法:

    4、在IIS中添加ISAPI扩展,将我们的新后缀名.do添加进去,具体过程为:
IIS--》选中“默认网站”点右键--》选“属性”--》“主目录”--》“配置”--》点“映射”里的“添加”按钮--》在弹出对话框里点击“浏览”按钮,选择aspnet_isapi.dll文件,并在扩展名里填possible。这样服务器才知道url那个.do鬼文件对应的是哪个具体的东西,才不会说找不到资源,如下图:

 

 

按照惯例,我应该将工程命名打码的,这不为了便于大家理解,裸着让大家看吧!如果帮助到你了,那就点个赞好啦!没帮助到的我说声抱歉哈,一起加油,欢迎交流!还有其他不常见的错误也欢迎大家指导!

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

矩阵科学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值