WebResource.axd, дающий 403 ошибку в ASP.Net Post backs с использованием IIS7


0

Я установил веб-сайт ASP.Net на сервере Windows 2008, который по умолчанию использует IIS7. Веб-сайт, похоже, работает нормально, но сообщения на моих формах не работают. После нескольких часов отладки я понял, что когда я вручную пытаюсь ударить файл WebResource.axd в своем браузере (например, я набираю http://www.domain.com/WebResource.axd в адресной строке), я получаю ошибку HTTP 403 (Access Denied).

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

  0

В моем случае проблема заключается в том, что в учетной записи рабочего стола asp.net отсутствует любое разрешение, которое требуется этой операции. Когда я переместил сборку из бункера в GAC, он начал работать. 03 окт. 132013-10-03 17:58:45

0

Проверьте журналы IIS - они должны предоставить код состояния, который содержит более подробную информацию об ошибке. Кроме того, какова природа ошибки при обратной передаче?


0

Это ошибка, что я получаю при выполнении Postback:

WebForm_PostBackOptions не определен.

Насколько мне известно, что функция содержится в файле WebResource.axd, который привел меня, чтобы попробовать его в адресной строке, который, как я знаю об ошибке 403 ...


0

Не уверен в том, что один, но это может быть связано с сжатием http в IIS. Также убедитесь, что файл доступен для пользователя IIS.


2

Перейдите в папку конфигурации iis. Обычно: c: \ windows \ system32 \ inetsrv \ config и открыть файл applicationHost.config. Затем в файл перейдите в раздел <handlers> и убедитесь, что следующая строка присутствует:

<add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode" /> 

То есть, если вы работаете в интегрированном режиме. Проверьте, указан ли глагол GET.

Если вы работаете в режиме классического трубопровода, что эта линия должна присутствовать

<add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> 

Если кажется, что все будет хорошо, чем смотреть на ваш web.config в обработчиках и разделе Модули и посмотреть, если вы добавили <clear /> на вершине каждого. Если вы это сделали, у вас есть , добавьте в ваш файл web.config, соблюдая порядок в обработчиках/модулях, указанных в файле applicationHosting.config.