2010-09-30 3 views
6

Ho intenzione di distribuire la mia prima applicazione Web MVC su Internet.cose da verificare assolutamente quando si distribuisce un'applicazione Web MVC 2?

Come è la prima app con questo framework per me, mi chiedevo se posso raccogliere alcuni consigli su ciò che dovrebbe essere fatto per evitare problemi.

Sono generico sulla domanda e questo è xpressamente fatto per raccogliere le risposte più varie.

Grazie!

UPDATE:

Grazie a tutti per le vostre risposte. La questione non riguarda solo il "distribuire" scope, ma ancora di più questi ambiti:

  • Security
  • pubblico Hosting
  • Application Management & Operations

In breve, tutto il problema che ha bisogno di da indirizzare dall'invio iniziale su.

risposta

7

Se avete intenzione di distribuire nel giro di un'ora:

  1. Assicurarsi che il riferimento alla System.Web.Mvc è contrassegnato come copia locale = True nel progetto. Tende di default a False, e quindi non verrà copiato nella cartella bin, causando il fallimento dell'app durante la distribuzione. Rivedere eventuali assembly aggiuntivi che potresti aver aggiunto al progetto per Copia Local = True.

  2. Assicurarsi che le tracce dello stack non vengano mostrate agli utenti finali quando si verifica un'eccezione nel codice. Utilizzare lo <customErrors> in web.config per specificare le proprie pagine di errore.

  3. Nel web.config, assicurati che le stringhe di connessione funzionino sul server su cui verrà eseguita la distribuzione.

  4. L'applicazione scrive su disco per qualsiasi motivo? Registrazione forse? Alcuni servizi di hosting non permetteranno alla tua app di scrivere su disco - vale la pena controllare prima del tempo.

  5. Distribuire in una cartella locale e verificare l'app pubblicata. Sono script, fogli di stile, immagini caricate senza problemi?

Se avete un po 'di tempo' di più sulle vostre mani:

  1. esaminare il codice per la sicurezza, le considerazioni XSS: sono sterilizzate ingressi? L'input dell'utente è codificato correttamente durante il rendering nelle viste?

  2. Rivedere lo schema dei dati. Questa potrebbe essere la tua ultima opportunità per modificare un database vuoto. Una volta distribuito, puoi solo sperare di aggiornare delicatamente i dati in tempo reale, cercando di evitare di danneggiare i dati esistenti e le dipendenze nella logica dell'applicazione.

  3. Se non lo hai già fatto, assicurati di configurare un account Google Analytics.Sarai curioso di sapere come viene utilizzato il tuo sito e questo è uno dei migliori strumenti gratuiti disponibili. Le analisi goog e le registrazioni dei motori di ricerca richiedono che i file vengano inseriti con nomi funky nella "cartella" radice del nome di dominio. Verifica che l'app possa servire i file dalla cartella principale o configurare un controller + routing per gestire tali richieste.

2

No. 0: assicurarsi che il patch per la padding oracle vulnerability si applica, ovviamente ciò non vale solo per asp.net MVC ma qualsiasi applicazione asp.net.

+0

intendi database Oracle? Puoi modificare la risposta per aggiungere qualche riferimento alla patch di cui stai parlando? – Lorenzo

+0

@Lorenzo no, per la recente vulnerabilità di asp.net, ho aggiunto un link al mio post sul blog che descrive l'impatto che ha avuto su mvc e anche uno sulla nota di ms su di esso in tutti i canali di distribuzione ora (come l'aggiornamento di Windows) . – eglasius

1

Se si distribuisce il sito MVC nel proprio server con IIS 5.1 o 6:

  1. Assicurarsi di aggiungere mapping per l'estensione * con il percorso eseguibile per aspnet_isapi.dll e verbi GET,HEAD,POST,DEBUG non è necessaria in IIS 7..
  2. Se si aggiunge l'applicazione MVC nel sito Web principale, eseguire 1 nel sito Web principale, ad es. Default Web Site se su una directory virtuale fare 1 nella directory virtuale.
  3. Assicurarsi che tutti gli script e css includano il percorso corretto durante la distribuzione.

Se si sta distribuendo il sito MVC in un hosting condiviso, in cui non si ha accesso alle impostazioni di IIS.

  1. Assicurarsi di aver aggiunto il giusto httpHandler nel proprio web.config in modo che l'url riscrittura possa essere mappato correttamente alle pagine giuste.
  2. Un altro modo è aggiungere il routing personalizzato in MapRoutes. per esempio. aggiungi un po 'di estensione (.aspx) nel tuo maproute predefinito. ({controller}.aspx/{action}/{id}). Ma non lo consiglio.