43 messaggi dal 20 gennaio 2010
Ho un sito di editoria e avendo dei banner ho deciso di inserire i tracciamenti di impression e click su DB.

apportando questa modifica la cosa strana che ho notato sin da subito è che aprendo il sito mi eseguiva 2 o 3 scritture di una singola impression.

ho fatto un po' di debug e ho visto che veniva aperta la pagina 404 (oltre alla pagina da me chiamata) la quale aveva anch'essa il banner e tracciava l'impression essa stessa.

ho preso i file di default e la pagina 404 del sito e ho incominciato a svuotarle fino a non avere più nulla, sia a livello client sia a livello server, se non la scrittura stessa dell'impression.
avveniva comunque la doppia (tripla, quadrupla) scrittura.
sembra che iis richiami lo stesso la pagina 404 (impostata nella error pages di IIS).
Per il momento ho tolto il banner dalla pagina 404 e solo adesso mi fa la scrittura singola, ma ogni volta che apro il mio sito apre di fatto 2 pagine (default e 404).
A qualcuno è successo qualcosa del genere?

grazie
Simone
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Simone,
per il momento non abbiamo abbastanza elementi per dire che si tratta di un problema di IIS. Per capire di che si tratta, vai a verificare se il caricamento della tua pagina web sta causando dei 404 che potrebbero giustificare gli incrementi di impression.

Infatti, dato che una pagina web referenzia parecchie altre risorse (file javascript, css, immagini), potrebbe essere che alcuni collegamenti siano non validi, e perciò IIS si trova costretto a rispondere con la pagina 404.

Fai così per verificarlo, è molto semplice:
Apri il pannello degli strumenti di sviluppo del tuo browser (tasto F12) e vai nella scheda denominata "Rete" o "Network". Aggiorna la tua pagina e vedrai passare tutte le richieste da client a server. Verifica se qualcuna di queste sta restituendo uno status code 404, o comunque se IIS ha restituito la pagina 404 anziché servire il contenuto che il browser stava cercando.

ciao,
Moreno
Modificato da BrightSoul il 03 luglio 2015 21.01 -

Enjoy learning and just keep making
43 messaggi dal 20 gennaio 2010
Ciao Moreno,

ho visto i codici e sono quasi tutti 200, altri
204, 302, 304 (credo tutti di google analytics, google remarketing, componenti 3e parti: es yumpu)

su un altro sito che dava lo stesso problema, ci sono solo codici 200
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao Simone,

astambara ha scritto:

ci sono solo codici 200

Ok, questo però non è sufficiente ad escludere che nella tua pagina ci siano collegamenti interrotti. Proverei ancora per questa strada, perché se IIS sta servendo la tua pagina 404 con lo status code 200, ecco che non ci accorgiamo di quali sono tali collegamenti.

Fai questo piccolo test: apri il tuo sito su una pagina palesemente inesistente, tipo /abcdef1234 e dovrebbe apparirti la pagina 404. Ma se guardi nel pannello "Rete" o "Network" degli strumenti di sviluppo del browser ti renderai conto che quella pagina è stata servita con lo status code 200. Questo non va bene perché ci sta nascondendo il problema.

Quindi vai nella tua pagina 404, e nel Page_Load metti:
Response.StatusCode = 404;


Adesso, se rifai l'esperimento vedrai che IIS inizia a servire la pagina 404 con lo status code 404, come dovrebbe essere.
Ora ricarica la pagina (esistente) del tuo sito e vai a vedere dal solito pannello Network se cominciano ad apparire dei 404.

Se non trovi nessun 404, fai vedere come hai configurato la pagina 404 nel web.config. E' qualcosa del genere?
  <system.webServer>
    <httpErrors errorMode="Custom" existingResponse="Replace">
      <remove statusCode="404" />
      <error statusCode="404" responseMode="ExecuteURL" path="/404.aspx" />
    </httpErrors>
  </system.webServer>


ciao,
Moreno
Modificato da BrightSoul il 11 luglio 2015 10.56 -

Enjoy learning and just keep making
43 messaggi dal 20 gennaio 2010
grazie Moreno,

ho inserito il codice come da te indicato e se richiamo una pagina inesistente adesso me la traccia come 404, mentre prima non lo faceva.
Rimane assente il 404 nella pagina esistente...

nel file web.config non c'è scritto nulla,
ma ti passo lo screen-shot del video della configurazione della pagina 404
(http://www.latermotecnica.net/img/iis_404.jpg)

ciao
Simone
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao Simone, prego!

astambara ha scritto:

Rimane assente il 404 nella pagina esistente...

Ok, abbiamo escluso gli errori 404 provenienti da richieste che partono dal browser. Non so da dove possano arrivare gli altri 404 ma escluderei sicuramente iniziative da parte di IIS: a fronte di 1 risposta deve sempre esserci 1 richiesta.

Se vuoi arrivare a fondo del problema, puoi andare a controllare la presenza di errori 404 nel log di IIS, a cui puoi accedere da questa icona.

In alternativa, nella pagina 404 scrivi l'URL della richiesta su un file di testo, così ti renderai conto di quante volte è stata chiamata e di quale fosse l'indirizzo.

astambara ha scritto:

nel file web.config non c'è scritto nulla

Da IIS7 in poi il file di configurazione di IIS è proprio il web.config. Anche se interagisci dalla schermata che hai mostrato, la configurazione verrà scritta in quel file. Se fai tasto destro sul sito IIS -> Esplora, ti verrà aperta una cartella in cui deve esserci un web.config in cui si trova la configurazione della pagina 404 (cerca nel nodo system.webServer).

ciao,
Moreno
Modificato da BrightSoul il 14 luglio 2015 08.15 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.