Ade94

Utente Esperto
Autore del topic
16 Gennaio 2007
1.186
0
Miglior risposta
0
quote:Rinomino by Francescop93
TITOLO ORIGINALE: Come creare 1 server
Come creare in pochi passi un server component con Visual Basic
2 pagine in totale: [1] 2 Avanti >>

Questo articolo spiega agli sviluppatori ASP come raggiungere un livello di conoscenza superiore.
I component server-side (da ora server component) sono utili per moltissime ragioni; le pi๠importanti: un componente migliora la velocità  e la portabilità  di una soluzione, protegge tutto il vostro lavoro, dato che si tratta di una DLL (Dynamic Link Library) e che quindi non espone direttamente il codice sorgente.

Ma cos'è esattamente un server component? E' una specie di controllo Active-X, ma invece di essere client side, come quelli sviluppati per Internet Explorer o lo stesso ambiente Visual Basic, sono usati in ambiente server. La differenza fondamentale tra client e server component è che l'ultimo ha l'assoluto divieto di esporre interfaccia utente, trattandosi di un componente che gira sulla macchina server, e che quindi non deve esporre finestre o pulsanti, in quando queste verrebbero visualizzate sullo schermo della macchina server.

Cosa serve per creare un server component? Un linguaggio che supporti lo standard COM, come ad esempio, Java, Visual C++, Delphi, o Visual Basic. Tutti i linguaggi menzionati, escluso VB, richiedono una mole di lavoro impressionante per iniziare a conoscere i fondamenti. Visual Basic è molto pi๠semplice da usare e da imparare di qualsiasi altro linguaggio, tant'è che molta gente confonde il Visual Basic Script, quello che si usa nelle pagine ASP, con le ASP stesse, che invece di essere un linguaggio è un contenitore, una tecnologia.
Detto questo, per operare serve un sistema operativo a 32 bit (Window 95, 98 or NT) su cui devono girare le ASP, tramite IIS o Personal Web Server (PWS). E' necessario avere installato Visual Basic (dalla ver. 5 in poi) sullo stesso computer su cui dovranno essere sviluppati i components, altrimenti sarà  impossibile per VB usare il riferimento agli oggetti ASP.

A questo punto è necessario far partire Visual Basic. Apparirà  una finestra che chiede come partire. Selezionare "ActiveX DLL".

Dopo aver fatto doppio click su ActiveX DLL, Visual Basic crea per te un progetto ed una classe predefinite. E' consigliabile rinominare sia Project1 che Class1 secondo i nostri gusti. E' importante scegliere bene il nome, dato che per richiamare il component nelle nostre pagine sarà  necessario usare Project1.Class1.
Fatto questo, è necessario fare un riferimento a "Microsoft Active Server Pages Object Library", la libreria necessaria per usare gli oggetti built-in ASP nel component. Dal menu di Visual Basic, bisogna scegliere "Project", quindi "References". Una finestra mostrerà  tutti i riferimenti disponibili sul tuo sistema. Questo riferimento si trova solo se sul sistema è installato PWS o IIS. Nel caso in cui non lo trovaste, sarà  necessario reinstallarli.

Nel nostro esempio, il nome del progetto sarà  "Comp1", quello della classe "MyClass". La sintassi con cui è necessario dichiarare componenti ASP in una pagina è:

Set ObjReference = Server.CreateObject("Comp1.MyClass")
Ora, una volta impostato un riferimento nella pagina ASP, sarà  possibile accedere a tutte le Sub o le Function del component, mediante una sintassi del tipo:

<%
Set ObjReference = Server.CreateObject("Comp1.MyClass")
ObjReference.Prova
%>
Naturalmente affinchè tutto funzioni, è necessario che nel nostro component sia presente una Sub o una Function pubblica dal nome "Prova".

Prima dicevamo della libreria per l'accesso agli oggetti built-in. Bene, si tratta di una libreria molto importante, in quanto si rivela molto utile per queste ragioni. Si puಠaccedere dal component agli oggetti Session, Application, Request, Response. Per usarlo nel component, oltre ad aver dovuto impostare un riferimento (come prima specificato) alla libreria ASP, è necessario inserire una Sub OnStartPage nel codice della classe. La Sub OnStartPage viene eseguita ogni volta che viene creata un'istanza del component, per cui puಠessere utile anche per altri scopi, come quello di impostare variabili condivise da alcune function/sub.
Risulterà  una cosa del genere:

Public Sub OnStartPage(ASPScriptingContext As ScriptingContext)
Set MyScriptingContext = ASPScriptingContext
Set MyApplication = MyScriptingContext.Application
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
Set MyServer = MyScriptingContext.Server
Set MySession = MyScriptingContext.Session
End Sub
Non è tutto. E' anche necessario scrivere prima di questa sub, questo codice, per permettere a VB di non generare un errore:

Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session
A questo punto creeremo anche una Sub che scarichi dalla memoria questi riferimenti, in modo da non appesantire il sistema. Per fare questo useremo la Sub OnEndPage, che viene richiamata alla chiusura della classe.

Public Sub OnEndPage()
Set MyScriptingContext = Nothing
Set MyApplication = Nothing
Set MyRequest = Nothing
Set MyResponse = Nothing
Set MyServer = Nothing
Set MySession = Nothing
End Sub
Ora possiamo accedere dal codice VB del nostro component, a tutti i metodi e le proprietà  offerte dagli oggetti built-in ASP. Ad esempio, per scrivere in una pagina ASP, potrai usare il codice MyResponse.Write, che equivale in tutto e per tutto a scrivere in una pagina ASP Response.Write.
---------------------------------------------------------------------
Pagina n°2


Come creare in pochi passi un server component con Visual Basic
2 pagine in totale: <<Indietro 1 [2]

Dopo questa lunga (e necessaria) premessa, scriviamo il nostro metodo Prova. Lo faremo tramite questa sub:

Public Sub Prova()
MyResponse.Write ("<p>Il mio primo component in VB.</p>")
End Sub
Come è chiaro dal messaggio, si puಠinserire tranquillamente codice HTML, proprio come nelle pagine ASP.
Per richiamare questo component nella nostre pagine ASP useremo:

<%
Set ObjReference = Server.CreateObject("Comp1.MyClass")
ObjReference.Prova
%>
che va messo nella pagina prova.asp , da creare.

A questo punto, tramite il menu "File/Save Project" di VB, salva il tutto. Questa operazione salva il codice, ma non crea la DLL. Per farlo, è necessario stoppare PWS (o IIS) per compilare di nuovo la DLL, altrimenti sarà  impossibile usare lo stesso nome. Si tratta di un bug di cui non si conosce una soluzione. Praticamente se si compila la DLL e la si usa, anche dopo aver stoppato PWS, non sarà  possibile sovrascrivere quel file, perchè PWS continuerà  a richiederlo (anche stoppato).

Dal menu File, ci sarà  un'opzione "Make comp1.dll". Selezionandola verrà  creata la DLL.
Usando il codice ASP di cui sopra (prova.asp), sarà  possibile testare la DLL.
Dall'indirizzo
Perfavore, Entra oppure Registrati per vedere i Link!
sarà  possibile vederne i risultati.

Da ora in poi sai come creare component. Con i component è possibile fare di tutto, da interi siti automatizzati, a semplici component che calcolino dei dati particolari. Il vantaggio di usare component, è che il codice diventa pi๠gestibile, e rimane totalmente sicuro, perchè trattandosi di codice compilato, è impossibile risalire dalla DLL al codice che è stato usato.

Il server component, per funzionare, deve essere registrato nel sistema. In quello su cui è stato sviluppato, viene registrato direttamente da VB, ma nel caso debba essere usato su un altro sistema, sarà  necessario utilizzare il comando regsvr32.exe, che si trova in genere in c:\windows\system. E' necessario fare seguire al richiamo a questo file, il nome del component da registrare. Quindi, nel caso il nostro comp1.dll si trovi in c:\inetpub\wwwroot\prova, dovremo lanciare questo comando:
regsvr32.exe c:\inetpub\wwwroot\prova\comp1.dll .

Finalmente sappiamo come fare a creare un oggetto COM che faccia da server component per le pagine ASP. Non ci resta che buttarci a capofitto ed iniziare a fare qualche prova. E' utile sapere che, in generale, è possibile avere dei risultati soddisfacenti solo usando delle chiamate alle API (Application Program Interface), che permettono di accedere a tutte le funzioni per cui in genere si decide di usare un server component.




RICORDA IL COMPUTER NON E FESSO E FESSO CHI NON LO SA USARE :emoji_smiley:
 
Riferimento: [GUIDA] Come creare 1 server con Visual Basic

So che è passato molto tempo da quando è stato aperto sto topic ma non mi sembra assolutamente giusto che sia ancora aperto nonostante sia stato copiato interamente da un altro forum ù.ù
 
Riferimento: [GUIDA] Come creare 1 server con Visual Basic

Ma... Il thread è preistorico! -.-

Segnalo.
 
Riferimento: [GUIDA] Come creare 1 server con Visual Basic

So che è passato molto tempo da quando è stato aperto sto topic ma non mi sembra assolutamente giusto che sia ancora aperto nonostante sia stato copiato interamente da un altro forum ù.ù

Infraziono per messaggio inutile.
Come ci sei riuscito a prendere un topic del 2007...