准备好web.config,进行如下配置:
<location path="FolderTest">
<system.web>
<httpHandlers>
<add verb="*" path="*" type="YourNamespace.YourHandler"/>
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="testyou" verb="*" path="*" type="younamespace.youHandler" resourceType="Unspecified"/>
</handlers>
</system.webServer>
</location>
有几点需要说明:
1.熟悉system.web和system.webServer的朋友一定知道,后者是针对iis7及以上的集成模式的配置项,如果不满足此宿主条件,则IIS会自动忽略此配置,采用前者的配置节点。
2.经过此配置后,iis7及以上的集成模式的站点已经能够处理FolderTest路径下的所有404 Request了。
3.resourceType="Unspecified",是用来处理标示处理所有请求的,包括file and folder等等,如果我们处理的是文件url,则不需要此配置属性。
4.path=”*”,表明这是一个wildcard httphandler。
5.如果我们不是要处理子目录下所有请求,如上文配置中的FolderTest,而是要处理根目录下的所有404请求,则去掉location配置节。
导致这个错误的原因一般来说,有三种:1、无法在所请求的端口上访问Web站点。
2、Web服务扩展锁定策略阻止本请求。
3、MIME映射策略阻止本请求。
问题解决
1、网站所在目录的权限问题:权限要有asp.net计算机帐户,user,有的环境中还要打开IIS_WPG,Network Services这两个权限。
2、IIS->主目录->配置->选项->启用父路径打上对勾。
网站名称右键属性->文档->启用默认文档->并正确设置了相应的默认页。
3.IIS->主目录->配置->通配符应用程序映射(执行顺序)这一项要将需要的asp或aspx应用程序插入进来,asp的是C:\WINDOWS\system32\inetsrv\asp.dll,aspx的是c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll,但我在架设自己的网站程序时该项目没有修改是默认无映射的情况也可以正常运行,这点并不是所有人的所有服务器环境都适用的。
4、.IIS(Internet 服务器)- Web服务扩展 ->Active Server Pages ->右键点击该项再左键点击"允许"
5、IIS(Internet 服务器)- Web服务扩展 ->在服务端的包含文件 ->右键点击该项再左键点击"允许"。
如果你是net站的,问题会比较复杂:需要就追
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)