Маршрут Combres (combres.axd) не работает - PullRequest
6 голосов
/ 30 июня 2010

Я следил за статьей http://www.codeproject.com/KB/aspnet/combres2.aspx.

Когда я запускаю свой сайт, я не могу заставить работать combres.axd? Я знаю, что работает combres, так как неправильный файл в моем xml вызовет ошибку. Я использую сайт веб-форм ASP.NET 4.0 на Vista.

Настройки XML для моего Combres:

resourceSets url="~/combres.axd" defaultDuration="30" defaultVersion="auto" defaultDebugEnabled="auto"

Я проверил web.config для всех правильных значений. Ссылка была добавлена ​​из каталога слияния, и глобальный файл ASX имеет следующее.

protected void Application_Start(object sender, EventArgs e)
        {
            RouteTable.Routes.AddCombresRoute("Combres");
        }

Я также проверил, что значение создано в источнике html.

href="/combres.axd/siteCss/309885723"

  src="/combres.axd/siteJs/408582048"

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

Ответы [ 6 ]

6 голосов
/ 03 августа 2011

У меня была такая же проблема при попытке заставить его работать в первый раз.

Убедитесь, что маршрут Combres добавлен перед вызовом, чтобы игнорировать маршрут {resource} .axd.

Правильно:

RouteTable.Routes.AddCombresRoute("Combres");
RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

Неверно:

RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteTable.Routes.AddCombresRoute("Combres");
1 голос
/ 02 сентября 2014

По какой-то причине мы можем исправить отображение css в режиме debug = false, добавив combres.axd к анонимному доступу в web.config

  <location path="combres.axd">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
1 голос
/ 13 сентября 2010

Во-первых, я бы предложил подключить log4net к регистратору combres в вашем файле web.config (не забудьте установить раздел конфигурации для log4net)

<log4net>
<logger name="Combres">
  <level value="ALL"/>
  <appender-ref ref="LogCombres" />
</logger>

<appender name="LogCombres" type="log4net.Appender.RollingFileAppender">
  <file value="Combres.log.txt"/>
  <appendToFile value="true"/>
  <maximumFileSize value="5000KB"/>
  <maxSizeRollBackups value="2"/>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%d [%t] %-5p %c - %m%n"/>
  </layout>
</appender>
</log4net>

И в вашем global.asax запустите конфигурацию

log4net.Config.XmlConfigurator.Configure()

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

0 голосов
/ 28 октября 2011

Это тоже случилось со мной, но проблема была в Yahoo.Yui.Compressor, который изменил одну подпись свойства в новой версии 1.6 *.

Так что, чтобы это исправить, я просто спустил Yahoo.Yui.Compressor до версии 1.5.

И теперь я счастлив :)

0 голосов
/ 05 октября 2011

Это изменения, которые я сделал в проекте, и он заявил, что работает правильно.

В файле Global.asax добавьте эти строки

using Combres;

В методе application_start

protected void Application_Start()
{
    RouteTable.Routes.AddCombresRoute("Combres");//Add this line
    RegisterRoutes(RouteTable.Routes);
} 

Закомментируйте строку в файле Combres.cs.

0 голосов
/ 04 октября 2011

Как настроены ваши модули в web.config? Проверьте атрибут runAllManagedModulesForAllRequests.

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

В устаревшем приложении WebForms я обнаружил, что у меня нет этого параметра, и как только я его вставил, маршрут combres.axd работал.

Больше на мой вопрос тоже

...