Sviluppare con ASP.NET 2

Da un paio ho incominciato a giocare seriamente con ASP.Net 2 e finalmente ho potuto sfruttare tutte quelle belle cose che sono tipiche della programmazione ad oggetti come per esempio l’ereditarieta.

Inizialmente avrei voluto scrivere codice in c#, ma la mia pregressa esperienza con Classic ASP e la mia solita pigrizia mi hanno indirizzato verso vb.net, di cui conosco già buona parte della sintassi.

La prima cosa che ho fatto è sato preparare una classe che eredita direttamente da System.Web.UI.Page nella quale ho riscritto un po’ delle funzioni che in anni di Classic ASP mi sono abituato ad utilizzare

Public Class uti
Inherits System.Web.UI.Page
end Class

Il database sul quale mi sono connesso è un server MySQL di cui .net non supporta nativamente i driver di connessione ma dopo aver scaricato è copiato nella directory bin la dll MySQLDriverCS ed aver verificato la sintassi della connessione il tutto ha funzionato perfettamente.

Dietro suggerimento ho deciso di lavorare con un accesso ai dati disconnesso, e quindi utilizzare i DataTable come contenitore di dati, cosa che sotto certi aspetti ricorda un po’ il vecchio ADO Recodset.

Ho quindi preparato una funzione che mi restituisce un nuovo oggetto DataTable già riepito e pronto per essere associato ad un GridView.

CreateDataTable( ByVal query As String , ByVal ConnectionString As String ) As DataTable

Per manipolare diretamente i dati, ho fatto un porting da ClassicAsp di due funzioncine al quale sono affezzionato: DoSql per tutte le insert/update/delete che non restituiscono nulla, e GetValue laddove viene restituito un unico valore.

Giocando con gli OverLoad ho creato due firme per Dosql, una nella quale “query” è una semplice stringa ed un’altra nella quale è una matrice di stringhe, in modo da poter passare alla funzione una serie insieme di istruzioni sql con un’unica istruzione

Public Function DoSql(ByVal query As String, ByVal ConnectionString As String ) As Boolean
Public Function DoSql(ByVal query() As String, ByVal ConnectionString As String ) As Boolean

Che sono diventate 4 nel caso la connessione sia già aperta e sia possibile riutilizzarla

Public Function DoSql(ByVal query As String, ByVal dbconn As MySQLConnection ) As Boolean
Public Function DoSql(ByVal query() As String, ByVal dbconn As MySQLConnection ) As Boolean

Stesso discorso per GetValue …

Public Function GetValue(ByVal query As String, ByVal ConnectionString As String ) as String
Public Function GetValue(ByVal query As String, ByVal dbconn As MySQLConnection ) as String

Infine per centralizzare la creazione della connessione ho preparato quest’altra funzione

Public Function Opendb(ByVal cs As String) As MySQLConnection

Questa serie di funzioni mi ha accompagnato nelle ormai vetuste Classic ASP in diversi progetto e penso che tutto sommato mi abbia fatto risparmiare un po’ di tempo.
Con questa riscrittura in ottica ASP.Net penso di aver ulteriormente migliorato la loro usabilità.

Confrontandomi con altri sviluppatori raramente ho incontrato chi come me si è creato il loro piccolo set di istruzioni e non sono mai riuscito a capire se la mia e paranoia o bisogno di organizzazione.

[tags]asp.net[/tags]

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato.