none
Не отображается Capcha на странице RRS feed

  • Вопрос

  • Здравствуйте!

    У меня есть веб-страница, где есть ссылка на файл (CaptchaControl.aspx). В нем есть изображение, которое формируется динамически и подставляется на то место в первом файле,  где оно должно быть. Все хорошо в локальном варианте, но когда я переношу на реальный хост, эта картинка не формируется. Такое ощущение, что файл CaptchaControl.aspx не находится или не обрабатывается. Почему это происходит? Каталог bin  на удаленный хост я копирую.

    Должно (так в локальном варианте):

    А получается (так в удаленном):



    27 июня 2014 г. 7:09

Ответы

  • Спасибо Program-s.g! Помогло!

    Все было, наверно, проще - просто в Web.config нужен был соответствующий обработчик. Я не учел, что у меня на локальной машине стоИт IIS 5.1, а там за WEB отвечает секция  <system.web> в Web.config, у меня там был обработчик, поэтому у меня на локальной машине работало. А у них на хостинге IIS 8, там обработчик нужен в другй секции (<system.webServer>). У меня там не было обработчика, поэтому картинка и не обрабатывалась.

    • Предложено в качестве ответа YatajgaEditor 3 июля 2014 г. 8:59
    • Помечено в качестве ответа YatajgaEditor 3 июля 2014 г. 8:59

Все ответы

  • Здравствуйте. Посмотрите ошибку в debugger  в браузере

    Mak Arti

    27 июня 2014 г. 7:30
  • Откройте например IE, обычно для каптч назначается отдельный обработчик (Http handler), и посмотрите нет ли там 404 -ой или 500 ошибки.


    Сделаем содержимое сообщества лучше, вместе!

    27 июня 2014 г. 8:12
    Модератор
  • Действительно, debugger дает такую строку:

     
    GET
    404
     
    text/html
    CaptchaControl.aspx Not Found

    Parser

    Но файл CaptchaControl.aspx есть, к тому же в локальном вырианте он находится, значит пути правильные.

    Что же делать?

    27 июня 2014 г. 11:36
  • У вас какие-то проблемы с путями, вполне возможно, что локально подставляется правильный путь, а на сервере совсем иначе. 


    [Блог] [Twitter]

    27 июня 2014 г. 14:06
  • поэкспериментируйте пути, подставляя в начале "~/" или "/" или "../../". Возможно у вас на сервере уже в url под домены.


    Mak Arti

    27 июня 2014 г. 14:15
  • Файл, кот. генерирует картинку (CaptchaControl.aspx) и файл, из кот. вызывается (<asp:Image ID="myImage" runat="server" ImageUrl="CaptchaControl.aspx" /> ) CaptchaControl.aspx, находятся в одном каталоге, тут уж экпериментируй не экпериментируй с путями..
    27 июня 2014 г. 15:16
  • А что означает это сообщение debugger:

    CaptchaControl.aspx
    GET
    302
    text/html
    /community Found Parser

    (картинки все равно нет)

    27 июня 2014 г. 15:38
  • Ваш рисунок не показывается, но влюбом случае код 302 - означает что ресурс типа есть, но доступен по другому URL. Посмотрите содержимое ответа, что там пишется. И как уже предложили выше, возможно у вас проблема в уровнях домена или относительных путях.

    Сделаем содержимое сообщества лучше, вместе!

    28 июня 2014 г. 11:10
    Модератор
  • Если вызывающий и вызымаемый файлы находятся в одном каталоге - как на это могут повлиять уровни домена? Мне все-таки кажется, что все происходит потому, что картинка - динамическая, со статическими все в порядке. Может там действительно нужен специализированный обработчик? И где посмотреть содержимое ответа?
    29 июня 2014 г. 10:11
  • "Если вызывающий и вызымаемый файлы находятся в одном каталоге - как на это могут повлиять уровни домена?" - очень просто. Могут использоваться различные пути (относительные, абсолютные и т.п.). Т.е. в зависимости как прописан путь и к чему.

    "Может там действительно нужен специализированный обработчик?" - возможно, ответить вам трудно, так как проект у вас. Особенно, не имея чёткого представления как у вас там всё устроено.

    "И где посмотреть содержимое ответа?" -  в браузере, используя средства для разработчика (клавиша F12, вкладка сеть).


    Сделаем содержимое сообщества лучше, вместе!

    30 июня 2014 г. 12:28
    Модератор
  • Если заменить файл, кот. генерирует картинку (CaptchaControl.aspx) на статический (например, 111.jpg) с тем же самым путем (а точнее без пути, поскольку они в одном каталоге), то этот файл находится  и отображается, как картинка
    1 июля 2014 г. 15:17
  • Здравствуйте! А почему вы не используете mscaptcha

    Работает нормально и на компьютере и на хостинге.

  • пути сопоставляются с url.

    напишите какой у вас примерный домен на сервере?


    Mak Arti

  • если он у вас в интернете то напишите сюда ссылку на нее, и мы все дружно посмотрим что не так

    А вообще такие вещи решают простым способом. Открывают хром, затем F12, затем Resources, и там есть все, ВСЕ что нужно, и уверен там будет ваша картинка с запросом, и кодом ответа и вы запросто разберетесь. 


    if (Thread.Was == HelpFul) Mark.As(HelpFul); else if (Thread.Was == Answered) Mark.As(Answered); else Provide(More.Details);

  • Спасибо Program-s.g! Помогло!

    Все было, наверно, проще - просто в Web.config нужен был соответствующий обработчик. Я не учел, что у меня на локальной машине стоИт IIS 5.1, а там за WEB отвечает секция  <system.web> в Web.config, у меня там был обработчик, поэтому у меня на локальной машине работало. А у них на хостинге IIS 8, там обработчик нужен в другй секции (<system.webServer>). У меня там не было обработчика, поэтому картинка и не обрабатывалась.

    • Предложено в качестве ответа YatajgaEditor 3 июля 2014 г. 8:59
    • Помечено в качестве ответа YatajgaEditor 3 июля 2014 г. 8:59
  • Да, и не подумал, что кто-то может ещё использовать древний IIS 5 и XP :) У них конвейеры разные, отсюда и все беды. Учтите это на будущее, проблем ещё может быть много впереди.

    Сделаем содержимое сообщества лучше, вместе!

    Модератор