Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Der Object Construct String

Geschrieben von: Christoph Wille
Kategorie: Komponenten

Im Artikel In VB Komponenten auf ASP Objekte zugreifen (Variante 2) habe ich gezeigt, wie man mit Hilfe der COM+ Services sehr einfach an die ASP-internen Objekte wie zB Response oder Request herankommen kann. Heute stelle ich ein weiteres sehr nützliches Feature für Komponenten vor, die COM+ Services verwenden: den Object Construct String.

Wie wäre es, wenn man einer Komponente bei der Installation einen Initialisierungsstring definieren könnte? Zum Beispiel denke ich hier an einen Connection String für eine Datenbankkomponente, oder anderweitige Informationen, die für alle Aufrufe gleichbleibend sind. Egal für was man den Construct String konkret verwendet, er hat auf alle Fälle ein gewichtiges Sicherheitsargument auf der Haben-Seite: ich muß diese Daten nicht in einer ASP Datei speichern (und jedes Mal an die Komponente übergeben), die auf alle Fälle leichter angreifbar ist als die COM+ Services Datenbank.

Den Construct String abfragen

Die Frage ist, warum zäume ich das Pferd von hinten auf, warum definiere ich nicht zuerst den Construct String den ich auslesen möchte? Nun, der Construct String muß einer Komponente zugewiesen werden, und noch habe ich keine!

Details welche Einstellungen man für eine COM+ Komponente in Visual Basic 6 machen muß, entnehmen Sie bitte dem Artikel In VB Komponenten auf ASP Objekte zugreifen (Variante 2). Ich stelle heute nur den Sourcecode vor, der notwendig ist, um mit dem Construct String zu arbeiten. Die wichtigen Zeilen Code aus ConstructString.cls sind folgende:

Implements IObjectConstruct

Private Sub IObjectConstruct_Construct(ByVal pCtorObj As Object)
    Dim strConstructString as String
    strConstructString = pCtorObj.ConstructString
End Sub

Was passiert hier: die Klasse implementiert ein Interface namens IObjectConstruct. Dieses wird von COM+ bei einer als COM+ Applikation registrierten Komponente abgefragt, und wenn vorhanden, wird automatisch die Methode Construct aufgerufen. Dieser wird ein Constructor-Objekt übergeben, aus dem wir per ConstructString Eigenschaft den Construct String auslesen können. That's it. Der obenstehende Code kann in jedes Projekt übernommen werden, er ändert sich nicht (natürlich speichert man den Construct String in einer Klassenvariable, nicht in einer Methodenvariable).

Um den Construct String "in action" zeigen zu können, habe ich noch eine Methode GetConstructString in das Objekt eingebaut. Das Projekt sieht (visuell) jetzt so aus:

Kompilieren, und fertig ist die Komponente. Jetzt müssen wir sie registrieren und den Construct String mitgeben.

Den Construct String definieren

Die detaillierten Schritte zur Erstellung einer COM+ Applikation und dem Registrieren einer Komponente lesen Sie bitte im Artikel In VB Komponenten auf ASP Objekte zugreifen (Variante 2) nach. Wir überspringen diese Schritte, und konfigurieren die Komponente AspHeute.ConstructStringSample:

Mit rechter Maustaste/Eigenschaften kann man die Komponenteneigenschaften einsehen. Wir interessieren uns für die Aktivierung der Komponente:

Hier sieht man bereits die fertig konfigurierte Komponente - Enable object construction muß selektiert werden, dann kann man den Constructor String eingeben. Wie gesagt, Anwendungsfälle sind Connection Strings oder anderweitige Konfigurationsdaten, die man gerne sicherer verwaltet hat als in ASP Dateien.

Was bin ich noch schuldig? Ach ja, den Beweis, daß es so funktioniert wie ich gesagt habe. Dazu habe ich eine simple ASP Datei geschrieben (constructtest.asp):

<%
Set xObj = Server.CreateObject("AspHeute.ConstructStringSample")
Response.Write xObj.GetConstructString()
%>

Nach Ausführung der Datei erhält man den Construct String einfach per Response.Write ausgegeben:

Schlußbemerkung

Die heute vorgestellte Komponente dient vornehmlich einem Zweck: als Copy & Paste Vorlage für eigene Komponenten, die Construct Strings einsetzen werden.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

In VB Komponenten auf ASP Objekte zugreifen (Variante 2)
Klassenauflistungen mit dem Dictionary-Objekt

Links zu anderen Sites

HOWTO: Access the COM+ Object Constructor String in a Visual Basic Component (Q271284)

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.