L'encapsulation de logique dans les composants métier constitue une partie essentielle de toutes les applications concrètes, qu'elles soient basées sur le Web ou non. Dans ASP.NET, les objets métier sont les blocs de construction des applications Web multicouches, telles que celles qui possèdent une couche pour l'accès aux données ou les règles d'application communes. Cette section explique comment écrire certains composants simples et comment les inclure dans les pages Web Forms de votre application.
using System;
using System.Text;
namespace HelloWorld {
public class HelloObj {
private String _name;
public HelloObj() {
_name = null;
}
public String FirstName {
get {
return _name;
}
set {
_name = value;
}
}
public String SayHello() {
StringBuilder sb = new StringBuilder("Hello ");
if (_name != null)
sb.Append(_name);
else
sb.Append("World");
sb.Append("!");
return sb.ToString();
}
}
}
Imports System
Imports System.Text
Namespace HelloWorld
Public Class HelloObj
Private _name As String
Public Sub New
MyBase.New()
_name = Nothing
End Sub
Public Property FirstName As String
Get
Return(_name)
End get
Set
_name = value
End Set
End Property
Public Function SayHello() As String
Dim sb As New StringBuilder ("Hello ")
If (_name <> Nothing) Then
sb.Append(_name)
Else
sb.Append("World")
End If
sb.Append("!")
Return(sb.ToString())
End Function
End Class
End Namespace
import System;
import System.Text;
package HelloWorld {
public class HelloObj {
private var _name:String;
public function HelloObj() {
_name = null;
}
public function get FirstName() : String
{
return _name;
}
public function set FirstName(value:String) : void
{
_name = value;
}
public function SayHello() : String {
sb:StringBuilder = new StringBuilder("Hello ");
if (_name != null)
sb.Append(_name);
else
sb.Append("World");
sb.Append("!");
return sb.ToString();
}
}
}
Le composant est à présent disponible pour toutes les pages Web Forms de l'application qui doivent l'utiliser. L'exemple HelloObj.aspx suivant illustre cette fonctionnalité.
VB HelloObj.aspx
Remarquez la directive Import située en début de page. Elle indique l'espace de noms à inclure. Une fois l'espace de noms inclus à l'aide de cette directive, la classe peut être utilisée à partir de la page Web Forms. Comme l'assembly est préchargé par le runtime ASP.NET, une seule importation simple de l'espace de noms est nécessaire pour rendre le composant disponible. L'exemple de code suivant illustre l'utilisation de la directive Import.
<%@ Import Namespace="HelloWorld" %>
Par défaut, ASP.NET charge tous les assemblys à partir du répertoire /bin lors du démarrage de l'application. Les assemblys à charger sont spécifiés à l'aide du système de configuration. Pour plus de détails, consultez la section Vue d'ensemble de la configuration. Vous pouvez également utiliser la configuration pour importer des assemblys supplémentaires dans une application. Par exemple :
<configuration>
<compilation>
<assemblies>
<!--The following assemblies are loaded explicitly from the global cache-->
<add assembly="System.Data"/>
<add assembly="System.Web. Services"/>
<add assembly="System.Drawing"/>
<!--This tells ASP.NET to load all assemblies from /bin-->
<add assembly="*"/>
</assemblies>
</compilation>
</configuration>
Remarque : La portée de chaque assembly chargé à partir du répertoire /bin est limitée à l'application dans laquelle il s'exécute. Cela signifie que des applications homologues peuvent éventuellement utiliser différents assemblys possédant les mêmes noms de classe ou d'espace de noms, sans entraîner de conflit.
Page Web Forms à 2 couches simple
Lors de son exécution, le runtime ASP.NET recherche des objets métier (assemblys locaux) dans un répertoire /bin connu situé directement sous la racine de l'application. Le répertoire /bin offre les avantages suivants :
Aucune inscription n'est nécessaire. Aucune inscription n'est obligatoire pour mettre un assembly à la disposition des pages de l'application. Pour autant qu'il se trouve dans le répertoire /bin, l'assembly est disponible. Le code compilé peut être déployé par simple copie ou transfert FTP jusqu'à cet emplacement.
Aucun redémarrage du serveur n'est nécessaire. Lorsqu'une partie d'une application ASP.NET Framework est modifiée (par exemple, si une DLL du répertoire /bin est remplacée), les nouvelles demandes commencent immédiatement à s'exécuter sur les fichiers modifiés. Les demandes en cours d'exécution peuvent s'achever avant que l'ancienne application soit détruite de manière appropriée. Il n'est pas obligatoire que le serveur Web soit redémarré après avoir modifié votre application, même si vous avez remplacé du code compilé.
Aucun conflit d'espace de noms. Chaque assembly chargé à partir du répertoire /bin est limité à la portée de l'application dans laquelle il s'exécute. Cela signifie que des applications homologues peuvent éventuellement utiliser différents assemblys possédant les mêmes noms de classe ou d'espace de noms, sans entraîner de conflit.
Les classes d'un assembly sont mises à la disposition d'une page de l'application à l'aide d'une directive Import au sein du fichier .aspx.
Les applications à 2 couches simplifient le code d'une page en améliorant la lisibilité et en séparant la logique de l'interface utilisateur des fonctionnalités système.
Les applications à 3 couches étendent le modèle à 2 couches en permettant aux développeurs d'interfaces utilisateur de travailler avec un niveau d'abstraction supérieur. Généralement, le composant métier de couche intermédiaire applique les règles métier et garantit le respect des relations et des contraintes de clé primaire de la base de données.
Nos serveurs
sont désormais des serveurs
Pentium 3 Ghz, 1 Go Ram
La
formule de base est à 10
Euros TTC / mois
Si vous avez des besoins plus spécifiques (composants,
espace disque...), nous sommes la pour répondre à
vos questions.
Rappel : les
frais d'installation sont gratuits
Prosygma élu meilleur
site. Trois nouveaux composants ASP sont désormais
en place sur toutes nos formules.Il s'agit de ASPIMAGE,
ASPPOP3 et ASPMAIL.
La dernière version de Microsoft® .NET Framework contient
tout ce qu'il vous faut pour faire fonctionner des applications
.NET Framework est disponible sur nos serveurs