Obwohl viele Websites, die ASP verwenden, keine Komponenten verwenden, wird in diesem Artikel angenommen, dass ASP eine Brücke zwischen Internet -Clients und Komponenten ist.
ASP- und Komponenten Divisionsdienste
ASP wird am häufigsten verwendet, um HTML- oder XML -Dateien für die Verwendung von Clients auf Servern zu erstellen. Daher diskutieren wir hauptsächlich dieses Nutzungsszenario. Dies wirft eine gemeinsame Frage auf: Wenn sich ASP -Seiten auf dem Server befinden, gehören sie dann zu einem Teil der Geschäftsschicht? In der Komponentenwelt lautet die Antwort normalerweise nein. Während ASP auf dem Server ausgeführt wird und sich möglicherweise im gleichen Bereich wie der Anwendungsserver befindet, ist dies nicht Teil der Geschäftslogik.
Mit Wachstum von Benutzeroberflächen-Tools oder wenn mehr Geschäft zu Business-Lösungen aktiviert sind, zahlt diese klare Auszeichnung eine enorme Belohnung aus.
Schauen wir uns jedoch einige der wichtigsten Kriterien für Geschäftsebene und Präsentationsschicht an:
Separate UI -Code von der Geschäftslogik. Dies beinhaltet das Schreiben von Code, die an die Benutzeroberfläche gekoppelt sind, z. B. die Verwendung eines MTS -Objekts, das eine interne ASP -Komponente verwendet, um ihn vom Geschäftslogikcode zu trennen, als ob es in einer anderen DLL wäre.
Getrennte Transaktionen von ASP -Seiten. Die Transaktion ASP ist in einigen Fällen sehr gut, aber Komponenten und mehrstufige Anwendungen ändern dies. Komponenten sollten sich nicht auf die Client -Ebene verlassen, um ihre Transaktionen und Geschäftslogiksemantik zu verwalten.
Platzieren Sie die darstellende Komponente (Komponente, die Anforderung und Antwort verwendet) in derselben Maschine und/oder als Webserver. Wenn ein Objekt eines ASP -internen Komponenten auf einer Remote -Maschine platziert wird, treten alle Aufrufe der internen Komponente in einem Rückrufformular auf. Der COM+ Server, der den IIS -Client aufruft, ist ein COM+ Server, der die Leistung erheblich verringert und die Sicherheitskonfiguration kompliziert. Diese Optimierungsobjekte können in eine COM+ -Anwendung mit der Aufschrift "Bibliotheksaktivierung" platziert werden.
ASP existiert auf dem Server, sodass die ASP -Seite den Regeln für die Freigabe von Ressourcen entsprechen und die Skalierbarkeit berücksichtigen muss. Bitte beachten Sie die folgenden Details:
In einer "Sitzung" sollte das Management versuchen, den benutzerspezifischen Status zu vermeiden.
Halten Sie ASP staatenlos und erlauben Sie nach Möglichkeit Ressourcenpools.
Betriebsmethode
Fragen Sie sich bei der Bewertung, ob ein Codesegment zur Geschäftslogik oder zur Präsentationsschicht gehört, "Wenn ich meine ASP-Seite durch eine Telefonanwendung vom Typ Schaltfläche ersetzen muss, ist dieser Code noch nützlich?" Wenn die Antwort "Ja" lautet, können Sie versuchen, sie in den Business Logic Code oder in Helfer -Code für Benutzeroberflächen zu teilen.
Wenn der Code nach dem Ändern des Clients nicht verwendet werden kann oder wenn er ein Helfer für die Konstruktion der Benutzeroberfläche ist, gehört der Code zur Darstellungsdienstebene. Es befindet sich auf der ASP -Seite oder in einer Komponente, die die internen ASP -Komponenten verwendet. Es gehört nicht zur Geschäftsobjektkomponente.
Verstehen Sie den Unterschied zwischen Desktop und ASP -Client
ASP ist im Gegensatz zu herkömmlichen Single-Thread-Win32-Anwendungen auf dem Desktop ein spezieller Kunde von Komponenten. Die Hauptunterschiede werden wie folgt zusammengefasst.
Thread Management: ASP ist ein Multi-Thread-Client. Dies bedeutet, dass es viele gleichzeitige Aktivitäten geben kann und möglicherweise gleichzeitig unterschiedliche ASP -Seiten abwickelt. Dies bedeutet, dass das Objekt nicht gemacht werden kann, um fälschlicherweise zu behaupten, dass es der einzige Benutzer ist, der das System ausschließlich besetzt. Dies kann beispielsweise unerwartete Reaktionen verursachen, um eine schlechte Angewohnheit zu entwickeln, Objekte in einer ASP -Sitzungs- oder Anwendungsvariablen zu speichern.