Heutzutage verwenden viele Websites, die ASP verwenden, keine Komponenten. Heute beschreibt der Herausgeber des Fooxin Technology Channel kurz die Abteilungsdienste zwischen ASP und Komponenten. Ich hoffe, es wird für Sie hilfreich sein, dieses Wissen zu erlernen.
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.
Sicherheitsumgebung: ASP wird von Internet Information Services 5.0 auf der Website mit drei Isolationsstufen durchgeführt: niedrig, mittel und hoch. Sogar diese Websites können unterschiedliche Sicherheitseinstellungen haben, anonymen Zugriff, authentifizierende Kunden und mehr zulassen oder verweigern. Alle diese Einstellungen erstellen eine große Anzahl von Schemata, in denen unterschiedliche Benutzerkonten Ihre Objekte verwenden.
Einfach Wachstum: Dies ist kein technisches Problem, sondern ein Nebeneffekt der von Webanwendungen bereitgestellten Einrichtungen.
Das Hinzufügen von Benutzerbasis zu Desktop -Anwendungen erfordert traditionell eine sorgfältige Planung von Überweisungen in bekannte Anzahl von Clients. ASP hat den Prozess geändert. Nach dem Auf- und Laufen kann die ASP-visuelle grundlegende Anwendung für die Verwendung aller Mitarbeiter, alle Geschäftspartner und alle Kunden vor Ort oder weltweit problemlos eröffnet werden.
Es kann auf diese Weise beschrieben werden - eine einzelne E -Mail mit einem Hyperlink kann die Nutzerbasis zehnfach erweitern. Ist Ihre Bewerbung dafür bereit? Die einzige Möglichkeit zu wissen, besteht darin, Krafttests auf Ihrer Website durchzuführen, um den erwarteten Wert der tatsächlichen Leistung zu erhalten.
Wie sollten Sie visuelle Basisobjekte innerhalb von ASP verwenden? Erstellen und abbrechen Ihre Objekte im Seitenbereich.
Machen Sie die ASP -Seite so weit wie möglich ein Staural und hängen nur von Sitzungs- oder Anwendungsvariablen in einem temporären Zustand ab. Speichern Sie keine Objekte in Sitzungs- oder Anwendungsvariablen. Dadurch wird der ASP -Thread zu Ihrer Sitzung gesperrt und alle erwarteten Werte für die Skalierbarkeit abgebaut. Das heißt, die Anzahl der vom Webserver verarbeiteten Benutzer wird Dutzende von Benutzern nicht überschreiten. Wenn Sie Inhalte in einer Sitzung oder Anwendung speichern müssen, machen Sie es eher zu einer Daten als zu einem Objekt.
Es gibt viele andere Richtlinien. Wir empfehlen Ihnen, die von JD Meier auf MSDN Voices geschriebene Spalte „Servin’ up “zu lesen. Diese Spalte umfasst eine breite Palette von Techniken, Praktiken und Tipps, die dazu beitragen, skalierbare, zuverlässige ASP- und Komponentenanwendungen zu entwickeln.
Speichern Sie keine Referenzen in VB -Objekten in Sitzung oder Anwendung
Alle Visual Basic 6.0 -Komponenten sind "Einheitsfäden", was bedeutet, dass sie alle in STA -Einheiten ausgeführt werden. Dies bedeutet, dass, wenn ein Objekt in einem Thread erstellt wird, alle Aufrufe dieses Objekts durch denselben Thread bedient werden müssen. Viele Threads (aus gleichzeitigen Nutzern der Website) verwenden dieselbe Instanz des STA -Objekts, was zu einer Reihe von Aktivitäten führt, die in der Anwendung Engpässe werden können.
Darüber hinaus kann das Speichern von STA -Objekten mit Server.createObject innerhalb des Sitzungsbereichs den Ausführungs -Thread effektiv an den aktuellen Benutzer kontaktieren und so die maximale Anzahl der gleichzeitigen Benutzer der Anwendung auf den Standard 20 -fachen (n = Anzahl der Prozessoren) einschränken.
Betriebsmethode
Wenn Sie unsere Empfehlungen befolgen, um Objekte staitess zu machen, müssen Sie keine Referenzen für die Wiederverwendung von Kunden speichern und innerhalb des Anwendungsbereichs speichern. Kunden können ihre eigenen Objekte unabhängig voneinander erstellen, verwenden und stornieren. Dies verringert die Notwendigkeit, Sitzungsobjekte aufzubewahren, da sie keinen Sitzungsstaat behalten.
Die empfohlene Möglichkeit besteht darin, das Objekt zu Staurose zu machen, das bei Bedarf auf die Datenbank oder andere Speicherbereiche (z. B. Cookies und LDAP) zugreift.
Wenn Sie hier Sitzungs- oder anwendungsweite Daten verwenden müssen, speichern Sie die Daten und nicht das Objekt, das die Daten verarbeitet. Sie können eine Klasse erstellen, die die Verarbeitung des gewünschten Wertes zusammenfasst.
Lernen Sie neue Inhalte in IIS 5.0
Internet Information Server 5.0 fügt viele neue Funktionen hinzu. Diese Verbesserungen wurden in JD Meiers MSDN -Artikel geschrieben: Verwenden Sie ASP in IIS 5.0 (Englisch).
Das obige ist eine kurze Beschreibung der Divisionsdienste zwischen ASP und Komponenten, die vom Herausgeber des falschen neuen Technologiekanals geteilt werden. Ich hoffe, Sie haben mehr Kenntnisse über diesen Aspekt, was die Entwicklung von ASP unterstützen wird.