2010-09-19 4 views
0

У меня есть captcha в моем приложении MVC, которое вызывается из HttpHandler (.ashx).Проблема captcha Asp.NET MVC

Он отлично работает на сервере разработчиков Visual Studio.

Я просто настроить в Global.asax:

 public static void RegisterRoutes(RouteCollection routes) 
     {  
      routes.IgnoreRoute("{filename}.ashx/{*pathInfo}");//captcha 

......... 

Он игнорирует путь последующей В Visual Studio Developer сервере:

http://localhost:5011/captcha.ashx?id=2342556fgh767896sa 

Проблема теперь я бегу приложение в IIS 7 .Now путь, который следует игнорировать, изменился на:

http://localhost/Sce/captcha.ashx?id=2342556fgh767896sa 

И это не работать больше.

Любые идеи игнорировать новый путь?

UPDATE:

I've решить мою problem.Need, чтобы добавить обработчик в web.config, но не в <httpHandler> section.Must быть в <system.webserver> разделе причины им с помощью IIS 7.0

+0

Почему вы используете HttpHandler в ASP.NET MVC в любом случае? Действия/ActionFilters/ActionResults предоставляют все необходимое, чтобы сделать это в рамках. – tarn

+0

, потому что я не знаю, как реализовать капчу без обработчиков. Я не хочу использовать Recaptcha. – ozsenegal

+1

В основном вы можете просто написать результат пользовательского действия, заключая сделки непосредственно с HttpContext, а затем вернуть его из действия. Вот пример, который может помочь http://www.dotnetcurry.com/ShowArticle.aspx?ID=484 – tarn

ответ

2

Добавить обработчик к разделу system.webserver вашего web.config.

+0

Вы были правы, я сожалею. Вы! – ozsenegal

1

Как насчет:

routes.IgnoreRoute("{allashx}", new {[email protected]".*\.ashx(/.*)?"}); 

заказ важен. Поместите это первым перед маршрутами контроллера.

+0

это doenst работы. Но я думаю, что его правильная. Может быть, еще одна проблема. – ozsenegal

Смежные вопросы