使用VS2013创建了一个MVC5的web项目,其中自定义一个HttpHandler专门处理图片的请求,Handler也在webconfig中注册过了,可是怎么都进不到HttpHandler中?
自定义的handler
webconfig中的配置
这样试试
<validation validateIntegratedModeConfiguration="false" />
<handlers>
...
</handlers>
如果IIS是7.0以前的版本就设置在
<httpHandlers>
......
</httpHandlers>
还是不行
@侯文成: 你把 PerCondition 去掉试试
@Yu: 一样的效果,你可以自己用VS2013创建MVC项目试一下
@侯文成:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <customErrors mode="Off" /> <httpHandlers> <add verb="*" path="*.do" type="KSST.svr.DataHandler,KSST" /> </httpHandlers> <pages controlRenderingCompatibilityVersion="4.0" /> </system.web> <system.webServer> <modules> <add name="init" type="KSST.svr.InitModule"/> </modules> <validation validateIntegratedModeConfiguration="false" /> <handlers> <add name="dataHandler" verb="*" path="*.do" type="KSST.svr.DataHandler,KSST" /> </handlers> <defaultDocument> <files> <clear /> <add value="index.html" /> <add value="default.aspx" /> <add value="Default.htm" /> <add value="Default.asp" /> <add value="index.htm" /> <add value="iisstart.htm" /> </files> </defaultDocument> </system.webServer> </configuration>
这是我的项目,很正常使用
@Yu: 给个邮箱,我发你看看可以吗
@侯文成: yyp2003net@126.com
@Yu: 已发送到邮箱
@侯文成: 直接编译运行,*.jpg 请求可以到TestHandler, 没有问题
@侯文成: 你IIS的应用池有没有配置为集成模式呢?
@Yu: IISExpress应该就是集成模式的,我没有部署到IIS服务器上,因为我本地都运行不了
@Yu: 我刚刚发布到IIS中后,使用集成模式也是进不去的,我的是IIS10
@侯文成: 是不是有重写URL的模块呢
@Yu: 虽然说我有用到伪静态,这应该不算重写URL,而且我重新创建一个新的项目,也是无法访问的
@Yu: 我刚刚新建了一个webform的项目,同样的方法,是可以进去的,你可能不是用的MVC,可是我就是搞不懂为什么MVC就不行,虽然说MVC本身对URL进行了封装,可是对于静态文件他是不会实现路由的