我的MVC应用程序中有一个验证码,它是从HttpHandler(.ashx)调用的。
它在Visual Studio开发人员服务器中运行良好。
我只是在Global.asax中配置:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{filename}.ashx/{*pathInfo}");//captcha
.........
它忽略了Visual Studio开发人员服务器中的以下路径:
http://localhost:5011/captcha.ashx?id=2342556fgh767896sa
问题是我现在正在IIS 7中运行该应用程序。现在要忽略的路径已更改为:
http://localhost/Sce/captcha.ashx?id=2342556fgh767896sa
它不再起作用了。
任何忽略新路径的想法?
更新
我已经解决了我的问题。需要在web.config中添加处理程序,但不能在<httpHandler>
部分中添加。必须在<system.webserver>
部分导致我使用IIS 7.0
答案 0 :(得分:2)
将处理程序添加到system.webserver
的<{1}}部分。
答案 1 :(得分:1)
怎么样:
routes.IgnoreRoute("{allashx}", new {allashx=@".*\.ashx(/.*)?"});
订单很重要。在控制器路由之前先把它放在第一位。