Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Migliorare la programmazione

    ciao,
    diciamo che in 2 giorni sono riuscito a fare la gestione dei record, Upload ed altre cosette. Ringrazio tutti quelli che mi hanno dato una mano.

    Ora però visto che il codice incomincia ad essere ripetitivo, vorrei ottimizzare il tutto.
    Io ho delle SUB o delle FUNCTION che richiamo costantemente. Il mio obbiettivo è metterli in qualche file e includere questo file per poi richiamare le Function o le Sub.

    Prima in ASP avevo un file chiamato funzioni.asp, dove avevo l'abertura del DB, il controllo delle Stringhe in INPUT, e altre funzioni o procedure ricorrenti nel sito.

    In ASP.NET per fare una cosa del genere cosa devo fare? Mi date qualche dritta cosi con il libro e il vostro aiuto tiro fuori qualcosa.


    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Con le vecchia ASP avevi un file contenente le funzioni che utilizzavi maggiormente. Con ASP.NET (e con il Framework in genere), puoi utilizzare un bisiness object (una classe, una dll per intenderci) con all'interno le funzioni da utilizzare in tutte le pagine della tua applicazione.
    Se utilizzi Vs.net il tutto è di facile implementazione: crei una nuova classe, inserisci all'interno tutte le funzioni che vuoi e da tutte le tue pagine asp.net richiami qualsiasi funzione con:
    [namespace.]nomeclasse.funzione(eventuali parametri)

    Se non utilizzi vs.net dovrai scrivere la tua classe con un qualsiasi texteditor (anche il notepad sei vuoi), quindi compilare questo file con il compilatore csc se utilizzi come linguaggio il c#, vbc se utilizzi il Visual Basic. Il file dll prodotto dovrai inserirlo nella directory \bin della tua applicazione perché essa sia visibile da tutte la pagina asp.net.

    In rete trovi moltissimi esempi su quest'argomento.
    Spero di esserti stato d'aiuto.
    Ciao
    'alchimista'

  3. #3
    si infatti rileggendo il manuale ho rivisto il capitolo dei bisiness object. Ora faccio qualcosa e vediamo cosa tiro fuori.
    Spero ce mi aiuterete ad ottimizzare la creazione della classe.

  4. #4
    ciao,
    come riportato sul manuale di ASP.NET ho fatto la classe database.vb
    codice:
    Imports System
    Imports System.Data
    Imports System.Data.OleDb
    
    Namespace TYASPNET
        Public Class database
            Public ConnectionString As String
            Dim objConn As New OleDbConnection()
            Dim objCmd As New OleDbCommand()
    
            Public Function SelectSQL(ByVal strSelect As String) As OleDbDataReader
                Try
                    objConn = New OleDbConnection(ConnectionString)
                    objCmd = New OleDbCommand(strSelect, objConn)
                    objCmd.Connection.Open()
                    Return objCmd.ExecuteReader
                    objCmd.Connection.Close()
                Catch ex As OleDbException
                    Return Nothing
                End Try
            End Function
    
            Public Function ExecuteNonQuery(ByVal strQuery As String) As Boolean
                Try
                    objConn = New OleDbConnection(ConnectionString)
                    objCmd = New OleDbCommand(strQuery, objConn)
                    objCmd.Connection.Open()
                    objCmd.ExecuteNonQuery()
                    objCmd.Connection.Close()
                    Return True
                Catch ex As OleDbException
                    Return False
                End Try
            End Function
        End Class
    End Namespace
    volevo sapere prima di tutto se il nome del namespace deve essere per forza quello, io credo proprio di no.
    Poi volevo sapere quali altre funzioni ci potrei mettere dentro.
    E infine vorrei sapere come si compila(uso VS.NET) premendo F5?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    No, il namespace può essere qualunque di tuo gusto e/o preferenza. Così per il nome della classe, così per il nome delle funzioni. Una cosa ancora, all'interno di un namaspace ci possono essere più classi distinte:
    codice:
    Namaspace Funzioni
    Public Class Database
    '...
    end class
    
    Public Class AltreFunzioni
    '...
    end class
    end namespace
    Per utilizzare una o l'altra classe:
    codice:
    dim classe1 as new Funzioni.Database()
    '...
    dim classe2 as new Funzioni.AltreFunzioni()
    Quindi per ogni classe puoi richiamare le funzioni corrispondenti:

    codice:
    classe1.Metodo1()
    a=classe2.Funzione()
    Von VS.NET è sufficiente effettuare un rebuild per la compilazione.
    Spero di esserti stato d'aiuto.

    Ciao
    'alchimista'

  6. #6
    ma se io faccio più file perciò:
    database.vb
    varie.vb

    e metto lo stesso namespace va bene lo stesso?

    poi una volta compilato il prgetto come includo tutto dentro al file .aspx?

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Se usi VS.net fa lui tutto per te in automatico: inserisce le due dll nella cartella bin per te.
    No, non puoi usare lo stesso namespace, e non ne vedo il bisogno! Anzi, ne avresi solo confusione.
    Se vuoi usare lo stesso namespace puoi inserire all'interno dello stesso file VB e sotto lo stesso namespace tutte le classi che vuoi.

    Per richiamare queste classi nelle tua pagine asp.net, è sufficiente richiamarle in questo modo:

    dim esempio as new NomeNameSpace.NomeClasse()

    Quindi, per richiamare delle funzioni all'interno di quella classe:

    esempio.funzione()

    Spero di esserti stato d'aiuto!
    Ciao
    'alchimista'

  8. #8
    ok ora è tutto + chiaro, però secondo te mettere tutte le classi in un unico file .vb conviene?

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Dipende!
    Dipende dal tuo modo di sviluppare il codice.
    Io preferisco dividere in caso di classi su cui effettuo molte modifiche e per non creare confusione.
    Non esiste una regola fissa: dipende tutto dal tuo modo di sviluppare e dai tuoi gusti personali!

    Ciao
    'alchimista'

  10. #10
    il fatto è ceh sto iniziando adesso ecco perchè chiedo consigli cosi inizio subito a programmare in un certo modo senza poi cambiare + avanti.

    Io Penso questo per quello che devo fare.
    La classe Database è quella che sfrutto sempre in qualsiasi pagina, mentre quell'altra la utilizzo solo nel Pannello di controllo del sito.

    Io pensavo di mettere in un file tutte quelle classi che hanno quelle funzioni che uso quasi sempre nel sito senza fare distinzione per la parte pubblica e quella privata. Però se non c'è tanta differenza come prestazioni è indifferente e metto tutto in un unico file e lo richiamo in tutte le pagine aspx.

    Per dire in ASP io avevo diversi file dove mettevo le funzioni. Questi file avevano un peso Kb diverso. metti caso che il primo pesava 10K e il secondo 20K è meglio includere un solo file che uno che contiene tutte le funzioni in un unico file di 30K.


    non so se mi spiego.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.