3.741 messaggi dal 28 gennaio 2003
Fin dai tempi di ASP, usavo creare piccole applicazioni web aziendali (intranet) lavorando nel proprio computer, per poi copiare l'applicazione nel server, e questo usando, prima Interdev, poi visual studio. Sfruttavo IIS del computer locale.

Da un po' di tempo so che esiste IIS Expres. Le spiegazioni che leggo in rete però non mi convincono. Ma in effetti, in parole chiare, a cosa serve? Quali sono i vantaggi rispetto a IIS?

ciao.

Pietro
10.265 messaggi dal 09 febbraio 2002
Contributi
Da Visual Studio 2012, per impostazione predefinita, IIS Express prende il posto del webserver di debug "Cassini". IIS Express viene avviato automaticamente da Visual Studio quando si manda l'applicazione web in debug con il tasto F5.
Essendo IIS Express la stessa cosa di IIS, possiamo contare già nella fase di debug su funzionalità che ritroveremo anche in produzione, come l'URL Rewriting e, in generale, su tutte le opzioni di configurazione del nodo system.webServer del web.config.

Il vantaggio di usare IIS Express rispetto ad IIS sono:
  • Il sito viene configurato ed avviato automaticamente da Visual Studio. Non è necessario configurarlo manualmente in maniera preventiva o avviare Visual Studio con privilegi di amministrazione;
  • Il sito va in esecuzione con l'utente di Windows corrente, e questo significa che non è necessaria alcuna "pubblicazione", ma i file possono restare lì dove si trovano, magari nella cartella "Documenti" che è accessibile solo all'utente corrente;
  • Il sito può facilmente collegarsi ad istanze utente di LocalDb (Sql Server Express) che girano anch'esse con l'utente di Windows corrente e che perciò non necessitano di previa configurazione o conferimento di privilegi in una istanza "normale" di Sql Server.


IIS Express è pensato per evitare compiti noiosi allo sviluppatore prima che sia in grado di far funzionare l'applicazione, soprattutto se questa viene sviluppata da più persone contemporaneamente. Con la stessa configurazione, i vari sviluppatori possono far girare l'applicazione sul proprio PC di sviluppo.

IIS Express può funzionare anche con Visual Studio 2010 SP1.
https://msdn.microsoft.com/en-us/magazine/hh288080.aspx

ciao,
Moreno

Enjoy learning and just keep making
3.741 messaggi dal 28 gennaio 2003
Ti ringrazio della pronta e precisa risposta. Purtroppo sono sempre più convinto della sua inutilità.

A titolo di esempio. Vedo e aprezzo benissimo oracle express rispetto a oracle standard. Oracle standard ha bisogno di un server ben dotato e non può funzionare bene in un semplice computer personale. La versione express invece si utilizza senzi problemi in locale; consuma risorse in maniera accettabile; è molto simile alla versione standard e l'applicazione funzionerà benissimo cambiando solo la stringa di connessione.

Ma IIS ha sempre funzionato benissimo dai tempi di windows NT, e funziona benissimo oggi. Non mi pare pesante; è molto simile a quello del server: non vedo proprio la necessità di una versione leggera.
qualche considerazione:

1) vs deve lavorare con diritti amministratore. Daccordo, ma questo non è un problema

2) IIS si deve configurare? Bene! IIS deve essere saputo configurare, secondo me. Perchè quando portiamo l'applicazione al server di produzione, chi lo dovrebbe configurare? E poi, è davvero così noioso e difficile?

3) non capisco il problema della non pubblicazione, che avvantaggerebbe IIS express. A me, con vs2010 sp1 (e ripeto, con tutte le precedenti versioni) basta premere F5 e andare in debug. L'unico problema è il debug lato client, dove debbo usare IE invere di Firefox

Ciao.

Pietro
10.265 messaggi dal 09 febbraio 2002
Contributi
Pietro, la tua decisione di non usarlo è perfettamente rispettabile; non hai bisogno di dire che è "inutile".
Anche perché indubbiamente in certe situazioni IIS Express ha dei vantaggi oggettivi.


1) vs deve lavorare con diritti amministratore. Daccordo, ma questo non è un problema

Per alcuni sviluppatori lo è perché le loro macchine di sviluppo vengono configurate da un IT manager che non dà la possibilità di acquisire privilegi di amministrazione.
Personalmente, anche se non ho restrizioni di questo tipo, preferisco non mandare VS in esecuzione con privilegi di amministrazione perché ho installato estensioni sviluppate da terzi.


IIS si deve configurare? Bene! IIS deve essere saputo configurare, secondo me. Perchè quando portiamo l'applicazione al server di produzione, chi lo dovrebbe configurare? E poi, è davvero così noioso e difficile?

Nel server di produzione lo configura un amministratore di sistema che poi ti fornisce un profilo di pubblicazione web deploy. In alternativa, se vai su Azure, è l'infrastuttura stessa che prepara il sito per te.
Inoltre, per consentire ad un novizio totale di muovere i primi passi agevolmente con ASP.NET, il fatto di non dover configurare IIS evita delle frustrazioni.


A me, con vs2010 sp1 (e ripeto, con tutte le precedenti versioni) basta premere F5 e andare in debug

Certo, perché hai messo i file in una cartella liberamente accessibile dall'utente windows con cui va in esecuzione IIS. Io preferisco concedermi la libertà di mettere i file sotto Documenti e non impazzire con i privilegi di Windows.

ciao,
Moreno

Enjoy learning and just keep making
3.741 messaggi dal 28 gennaio 2003
Ti ringrazio, sopprattutto per la pazienza.
Ciao.

Pietro
3.741 messaggi dal 28 gennaio 2003
Mi viene in mente un'ultima domanda: se IIS Express è migliore di quello classico, allora quello classico forse è inutile o forse ha ragione di esistere in particolarissime circostanze?

ciao

Pietro
10.265 messaggi dal 09 febbraio 2002
Contributi
Non è migliore di quello classico in senso assoluto. Ha i suoi vantaggi se usato durante il debugging di un'applicazione ma non va usato per la produzione.

IIS Express e IIS condividono gran parte della loro codebase. Possiamo dire che sono la stessa cosa ma "impacchettati" in modo differente per andare incontro sia alle esigenze di chi sviluppa un'applicazione che di coloro che dovranno metterla in produzione.

Per esempio, una "peculiarità" di IIS Express è che per default si mette in ascolto solo su localhost, quindi il sito non sarà accessibile da altri PC in rete. Questo lo puoi vedere come un vantaggio (se vuoi lavorare in riservatezza sul tuo PC) o come uno svantaggio (se devi far vedere il tuo lavoro a un collega).
Inoltre gli manca la console grafica di gestione.

In generale, è difficile trovare una soluzione informatica che sia superiore in senso assoluto a qualsiasi altra. A decretare l'opportunità (o meno) di usare una soluzione conta in maniera determinante l'ambito di applicazione.

ciao,
Moreno
Modificato da BrightSoul il 28 agosto 2017 13.20 -

Enjoy learning and just keep making
3.741 messaggi dal 28 gennaio 2003
Non so. Confesso che sono un po' confuso.

Ti ringrazio. Ciao.

Pietro

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.