File classe non convertito in .dll

venerdì 27 maggio 2011 - 12.15
Tag Elenco Tags  VB.NET  |  .NET 3.5

zseven Profilo | Senior Member

Ciao ragazzi,
volevo chiedere una cosa in merito ad un file di tipo classe .vb che inserisco nella cartella App_Code.

Sto notando che se aggiorno questo file aggiungendo ad esempio nuove funzioni che utilizzerò all'interno dei siti, al primo caricamento i siti impiegano un pò di tempo di più per caricare la prima volta la pagina.
Convertendo il file classe.vb in una dll, ottengo un risultato migliore, oppure al primo caricamente sarà sempre un pò più lento?

Grazie mille

alx_81 Profilo | Guru

>Ciao ragazzi,
ciao

>Sto notando che se aggiorno questo file aggiungendo ad esempio
>nuove funzioni che utilizzerò all'interno dei siti, al primo
>caricamento i siti impiegano un pò di tempo di più per caricare
>la prima volta la pagina.
>Convertendo il file classe.vb in una dll, ottengo un risultato
>migliore, oppure al primo caricamente sarà sempre un pò più lento?
ad ogni esecuzione del tuo codice crei dll. Non esiste altra via.
Il fatto che al primo accesso sia più lento è normale. Perchè, trattandosi di un sito, ogni cambiamento scarica la vecchia applicazione per ricaricare sul web server la nuova dll e ricreare i pool dell'applicazione.

>Grazie mille
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Gluck74 Profilo | Guru

Ciao,
tutti i file presenti nella cartella App_Code, vengono compiltati e trasformati in dll nella cartella bin.
L'ambiente asp.net si accorge di eventuali modifiche apportate ai file e quando necessario ricompila per ricrearsi le dll aggiornate. Ecco perché vedi un caricamento più lento la prima volta che acceddi al sito dopo le modifiche.

Una cosa che puoi fare per migliorare un po' la velocità del primo caricamento, è mettere sul server web il codice già compilato.
Ovvero da visual studio, puoi usare il comando "pubblica" per compilare e creare l'intero sito già pronto per il server.

Ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

zseven Profilo | Senior Member

Ciao e grazie,
ecco proprio questo intendevo.

Con pubblica ho visto che mi converte tutto il sito eliminando le pagine dei code behind e creando le dll.
Questa soluzione però è un pò scomoda nel momento in cui devo apportare modifiche continuamente ai siti.

Quindi mi conviene convertire solo le classi all'interno dell'app_code in dll, in questa maniera guadagno quel pochetto che potrebbe essermi utile al caricamento, mantenendo la semplicità nell'aggiornamento del sito, giusto?

Gluck74 Profilo | Guru

si, in effetti nel caso tu abbia bisogno di apportere modifiche "al volo" sulle pagine, questa soluzione è un pochetto scomoda.
Puoi fare 2 cose:
convertire in library (una dll a parte) solo quello che è contenuto nell'app_code, mantenendo tutte le pagine "Live".
compilare il sito ugualmente non scegliendo l'opzione "mantieni i nomi dei file.........", in questo modo per tutte le pagine verrà creato solo un'altra dll, così dovrai spostare un solo file (in effetti più grosso, ma non diventi matto a cercare sempre i file giusti).

Questo problema in effetti con VS2010 non ci sarebbe più visto che non ti fa gestire la cosa ma fa di testa sua. ;-)

ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5