2016-06-13 5 views
0

Я редактирую оригинальный пост, потому что я понял несколько вещей, поэтому мой вопрос может быть более конкретным.AjaxFileUploadHandler.axd подходит 404

Я работаю с редакцией AjaxControlToolkit и Visual Studio 2015. Я использовал NuGet для установки инструментария и Html Sanitizer, которые они предложили.

Теперь я создал веб-страницу ASP.NET, содержащую элемент управления HtmlEditorExtender, и отлично работает, за исключением встроенного элемента управления AjaxFileUpload.

Загрузка не работает, и я включил вывод консоли ниже, чтобы показать, что я получаю.

Console Log Messages

Оказывается, что ошибка происходит, потому что приложение не может найти файл AjaxFileUploadHandler.axd (это то, что более описательной версия сообщения консоли есть). Я попробовал все из предложений, которые я смог найти об изменении файла web.config (здесь соответствующие разделы):

<system.webServer> 
<validation validateIntegratedModeConfiguration="false" /> 
<handlers> 
    <add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" /> 
</handlers> 
<security> 
    <requestFiltering> 
    <requestLimits maxAllowedContentLength="4294967295" /> 
    </requestFiltering> 
</security> 

и ...

<system.web> 
<trust level="Full" /> 
<httpHandlers> 
    <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" /> 
</httpHandlers> 

Я удалил инструментарий, перезагрузили сервер, попробовали все, что могли найти на нем, и все же радости. У меня здесь нет идей. Любая помощь от кого-нибудь, пожалуйста?

ответ

2

Если у вас нет приложения в корневом каталоге веб-сайта, вам необходимо указать путь к AjaxFileUploadHandler.axd, который включает в себя все части пути после корня сайта.

Например, если сайт размещен на http://mysite/myapp/mypage.aspx вам нужно определить это так:

<httpHandlers> 
    <add verb="*" path="myapp/AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" /> 
</httpHandlers> 

Вы также можете посмотреть этот вопрос для более подробной информации: https://github.com/DevExpress/AjaxControlToolkit/issues/43#issuecomment-203889967

+0

Я попробовал это, и он по-прежнему дает мне ту же ошибку. Я прочитал эту статью (и ваши предложения) вчера, прежде чем я разместил ее, надеясь, что это сработает, но это не так. Даже после изменения пути в файле web.config вывод на консоль показывает, что он все еще пытается найти в корне localhost. Кроме того, в Visual Studio вывод сборки говорит, что он не может найти схему для элемента 'ajaxControlToolkit'. Не могли бы вы предоставить более полный пример того, как должен выглядеть web.config, чтобы я мог видеть, что у меня что-то отсутствует? Я установил все через NuGet. –

+0

Трудно догадаться, что может пойти не так. Не могли бы вы поделиться своим примером с описанной проблемой? –

+0

Есть ли шанс, что вы могли бы найти полный рабочий пример с web.config? Я полностью не в этом разбираюсь, чтобы попробовать. –

1

Пожалуйста, проверьте, что личность в соответствии с которым вы выполняете свой код, имеет доступ к папке.

Я столкнулся с той же ошибкой, решение отлично работало на локальной машине, но когда я опубликовал ее на сервере, я получил эту же ошибку.

Глядя на журналы событий на сервере, я понял, что я пропустил предоставление прав доступа к идентификатору сервера. Как только я дал эти разрешения, он работал нормально.