MVC Ottimizzazione dei widget durante l'accesso a CSS e risorse

1

Quindi stiamo cercando di reimmaginare la nostra soluzione web in modo MVC. Passando da una vecchia soluzione basata su webform a lavorare con ASP.NET MVC con un menu principale bootstrap e aggiungendo funzionalità nei moduli di widget usando HTML.Action () che chiama un controller e un'azione per riempire le informazioni su quella parte della pagina .

Stiamo ora pensando a come i CSS e le risorse che otterremo separatamente per ogni widget nel proprio controller possano essere efficacemente utilizzati in questo scenario.

Se usiamo solo HTML.Action e permettiamo a un controller di aggiungere la nostra funzionalità alla pagina, perdiamo la nostra connessione alla pagina nel suo complesso e potremmo caricare il pacchetto di risorse e il CSS per lo stesso tipo di oggetti e di nuovo. Come risolverebbe questo e rendere possibile per il nostro portale web la conoscenza su quali file css e risorse sono già stati aggiunti alla soluzione?

    
posta The Kaizer 13.02.2014 - 19:56
fonte

1 risposta

1

Il browser non richiede costantemente una risorsa dal tuo server con alcune modifiche di configurazione significative (e non facili da trovare). Questo vale per CSS, file javascript, immagini, ecc. Quando il server web fornisce la richiesta iniziale a un client, include anche un tempo di scadenza per la maggior parte degli oggetti. Il browser osserverà la scadenza al momento della richiesta di aggiornamenti dal server. Se il tempo non è scaduto, il browser non richiederà di nuovo lo stesso oggetto. Questo è vero per tutti i grandi browser.

Se configuri il tuo server web per impostare il timeout su tutto ciò che viene servito a 0 o -1 (a seconda del server che usi), il client richiederà ogni articolo ogni volta che è necessario visualizzare qualcosa. Ciò pone un enorme carico extra sul tuo server.

In uno scenario MS MVC, l'unico posto in cui potreste voler pensare di impostare il timeout su 0 è sui vostri servizi Web o API web. La maggior parte della tua applicazione invierà la stessa cosa a tutti i tuoi utenti. E MVC è abbastanza intelligente da capire cosa deve essere un timeout di 0 per la maggior parte delle cose.

Aggiorna

È possibile aggiungere in modo dinamico CSS all'HEAD. Leggi questa risposta su StackOverflow Aggiungi dinamicamente CSS alla pagina tramite Javascript .

    
risposta data 13.02.2014 - 22:30
fonte

Leggi altre domande sui tag