Empfohlen: Anteil: Einführung in die Eigenschaften und Methoden der XML HTTP -Anfrage Da Sie jetzt dafür verantwortlich sind, Standard -statische Seiten im Unternehmen zu erstellen, müssen Sie häufig einige Ajax -Effekte durchführen und Ajax wie ich lernen. Eine wichtige Technologie (Tool), die beim Entwerfen von AJAX verwendet wird, ist das XMLHTTPrequest -Objekt. Hier
Der Anwendungsserver wird oder wird schließlich von einem Webserver verwendet, und es handelt sich normalerweise um den IIS -Computer, der die ASP -Seite ausführt. ASP ist der einzige Kunde Ihres Objekts. Es bringt spezielle Überlegungen zu Threading- und Sicherheitsüberlegungen mit sich.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. Die folgenden ASP -Komponenten -Richtlinien (in englischer Sprache) werden bereitgestellt
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 COM -Anwendungen als 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 die Verwaltung versuchen, benutzerspezifische Zustände zu vermeiden.
Halten Sie ASP staatenlos und erlauben Sie nach Möglichkeit Ressourcenpools.
Betriebsmethode
Wenn Sie bewerten, ob ein Codesegment zur Geschäftslogik oder zur Präsentationsschicht gehört, fragen Sie sich bitte, ob ich eine Telefonanwendung vom Typ Button verwenden muss, anstatt auf meiner ASP-Seite, wird der Code immer noch funktioniert? Wenn die Antwort Ja lautet, können Sie versuchen, sie in Business Logic Code oder User Interface -Helfercode aufzuteilen.
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 App dafür bereit? Die einzige Möglichkeit zu wissen, besteht darin, Krafttests auf der Website durchzuführen, um den erwarteten Wert der tatsächlichen Leistung zu erhalten. Weitere Informationen zu Intensitätstests finden Sie im Bereich Anwendungslebenszyklus.
Wie sollten visuelle Grundobjekte innerhalb von ASP verwendet werden? 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 zu lesen. Diese Spalte umfasst eine breite Palette von Techniken, Praktiken und Tipps, die dazu beitragen, skalierbare, zuverlässige ASP- und Komponentenanwendungen zu entwickeln.
beziehen sich auf
MSDN VOICES: Servin 'it Up -Spalte (Englisch)
Seminaronline: Verwenden Sie benutzerdefinierte COM -Komponenten unter ASP (Englisch)
MSDN Magazine (Englisch)
Speichern Sie keine Referenzen in VB -Objekten in Sitzung oder Anwendung
Alle Visual Basic 6.0 -Komponenten sind Zellgewinde, 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.
beziehen sich auf
Meldung: Speichern Sie keine STA -Objekte in Sitzungen oder Anwendungen (Q243543) (Englisch)
PRB: Speichern Sie die STA COM -Komponente in der Sitzung und sperren Sie die Sitzung in einem einzigen Thread (Q243815) (Englisch)
Informationen: Zusammenfassung des Komponenten -Threading -Modells unter ASP (Q243544) (Englisch)
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). Im Folgenden finden Sie einen Überblick über die wichtigsten Verbesserungen in diesem Artikel.
Verbesserte, ausgezeichnete Leistung
Server.transfer und server.execute -Methoden
Zentralisierte Fehlerbehandlung
Verbesserte Browserfunktionen
Verbesserter Skriptmotor
Regelmäßiger Expressionsanalysator
Integration in die ADO -Datensatz -Set -XML -Funktionalität
Neue Sicherheits-, Puffer-, Isolations- und Managementfunktionen
beziehen sich auf
Wichtige Änderungen in ASP (in Englisch)
Teilen: Tipps: Holen Sie sich ein Beispiel für den automatischen Nummerierungswert des gerade eingefügten Datensatzes Für Zugriffs- und SQL -Server -Datenbanken kann die folgende Methode den automatischen Nummernwert des gerade eingefügten Datensatzes erhalten. »Holen Sie sich den automatischen Wert des gerade eingefügten Datensatzes, und Folgendes ist der referenzierte Inhalt: