403 запрещены все файлы * .axd - aragh

разочаровывающие ресурсы .axd запрещены

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

Любые идеи? Я так расстраиваюсь!

Редактировать:

В качестве теста я изменил его на «storage = file;». Когда я отправляю запрос на сервер для создания диаграммы, диаграмма фактически появляется в моей папке - она ​​просто не отправляется обратно в браузер в запросе.

АРАХ! Что здесь происходит!?!?!

Добавлен web.config

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="ChartImageHandler" value="storage=memory;"/>
  </appSettings>
  <connectionStrings>
    <add name="VS265178_1ConnectionString" connectionString="Data Source="HIDDEN"/>
  </connectionStrings>

  <system.web>

    <httpHandlers>
      <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        validate="false" />
    </httpHandlers>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>

    <authentication mode="Forms">
      <forms loginUrl="Login.aspx" name=".CFCASPXFORMSAUTH" defaultUrl="Default.aspx"/>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
    <machineKey validationKey="HIDDEN" decryptionKey="HIDDEN" validation="SHA1"/>
    <!-- Custom Membership Provider Configuration -->
    <membership defaultProvider="CFMembershipProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear/>
        <add name="CFMembershipProvider" passwordFormat="Clear" type="HIDDEN" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" writeExceptionsToEventLog="false"/>
      </providers>
    </membership>

    <profile defaultProvider="CFProfileProvider">
      <providers>
        <add name="CFProfileProvider" type="HIDDEN"/>
      </providers>
    </profile>
    <pages>
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </controls>
    </pages>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <remove name="ChartImageHandler"/>
      <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </handlers>
  </system.webServer>
</configuration>

person itwb    schedule 28.08.2012    source источник


Ответы (2)


Перезапись URL-адресов на веб-сайте наследуется всеми дочерними приложениями. Одно из решений - добавить это в ваше приложение web.config:

<system.webServer>
  <rewrite>
    <rules>
      <!-- remove parent rewrite rules -->
      <clear/>
    </rules>
  </rewrite>        
</system.webServer>
person Sire    schedule 05.03.2013

Итак, ответ.

Перезапись URL - убийца.

У меня была установка Wordpress в веб-приложении, которое было выше приложения, с которым у меня возникли проблемы. Установка wordpress фактически выполняла перезапись, и поскольку это не был файл или каталог (по умолчанию для wordpress), она переписывала любой запрос, который не имел физического соответствующего файла или папки.

Если вы получаете случайные ошибки и используете дополнительные приложения - посмотрите ПЕРЕПИСАНИЕ!

person itwb    schedule 29.08.2012
comment
Спасибо за ответ, для тех из вас, кто не знает, какое правило добавить, что-то вроде этого должно работать нормально. Поместите его над правилом Wordpress. ‹Имя правила = игнорировать подпапку stopProcessing = true› ‹сопоставить url = subFolderName /› ‹условия logicGrouping = MatchAll trackAllCaptures = false /› ‹тип действия = None /› ‹/rule› - person jamesbar2; 27.09.2013