问题验证码Asp.NET MVC

时间:2010-09-19 01:17:08

标签: asp.net-mvc

我的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

2 个答案:

答案 0 :(得分:2)

将处理程序添加到system.webserver的<{1}}部分。

答案 1 :(得分:1)

怎么样:

routes.IgnoreRoute("{allashx}", new {allashx=@".*\.ashx(/.*)?"});

订单很重要。在控制器路由之前先把它放在第一位。