2010-06-30 14 views
6

Ho seguito l'articolo http://www.codeproject.com/KB/aspnet/combres2.aspx.La rotta di Combres (combres.axd) non funziona

Quando eseguo il mio sito non riesco a far funzionare combres.axd? So che le combres sono in esecuzione poiché un file errato nel mio xml causerà un errore. Sto eseguendo un sito Web di ASP.NET 4.0 su Vista.

Le impostazioni XML di My Combres sono.

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

Ho controllato il web.config per tutti i valori corretti. Il riferimento è stato aggiunto dalla directory di fusione e il file ASX globale ha il seguente.

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

Ho anche controllato che il valore sia stato creato nella sorgente html.

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

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

non ottengo un errore o qualcosa per aiutarmi a rintracciare il motivo per cui non funziona o che cosa io possa aver perso. Qualsiasi suggerimento sarebbe molto apprezzato.

+0

Ho ricevuto lo stesso errore (404 non trovato su /combres.axd/siteCss/883839792). Qualche idea? – jao

risposta

1

In primo luogo, io suggerirei per agganciare un log4net al logger Combres nel web.config (non dimenticate di impostare il configsection per 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> 

E nel vostro global.asax lanciare il configurazione

log4net.Config.XmlConfigurator.Configure() 

Si dovrebbe avere un registro dettagliato di ciò che sta accadendo. Se ciò che non va non appare, non esitare a tornare con qualche output di registro

6

Ho avuto lo stesso problema quando ho provato a farlo funzionare per la prima volta.

Assicurarsi che la route di Combres sia stata aggiunta prima della chiamata per ignorare la route {resource} .axd.

corretta:

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

errato:

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

Qual è la sua impostazione di moduli in web.config? Verifica l'attributo runAllManagedModulesForAllRequests.

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

con un'applicazione WebForms legacy, ho trovato non ho avuto che l'impostazione e una volta ho messo in, il percorso combres.axd funzionato.

More on my question too

0

Questi sono i cambiamenti che ho fatto nel progetto e ha dichiarato a funzionare correttamente.

Nel file Global.asax aggiungere queste righe

using Combres; 

Nel metodo Application_Start

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

commento la riga nel file di Combres.cs.

0

Questo è successo anche a me, ma il problema è stato da Yahoo.Yui.Compressor hanno cambiato una firma di proprietà nella loro nuova versione 1.6 *.

Quindi per risolvere il problema ho appena spostato Yahoo.Yui.Compressor alla versione 1.5.

e sono felice adesso :)

1

Per qualche motivo l'unico modo per risolvere il problema mostrando css in modalità debug = falso è con l'aggiunta combres.axd all'accesso anonimo nel web.config

<location path="combres.axd"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
+0

Probabilmente dovresti spiegare un po 'nel testo della tua risposta. –

Problemi correlati