Unterschiede zwischen verwalteten und ECMAScript-Objektmodellen

SharePoint 2010

Letzte Änderung: Donnerstag, 15. Juli 2010

Gilt für: SharePoint Foundation 2010

Verfügbar in SharePoint Online

Die folgenden wichtigen Unterschiede zwischen dem ECMAScript (JavaScript, JScript)- und verwaltetem Clientobjektmodell sollten Ihnen bekannt sein.

  • Die Methodensignatur kann unterschiedlich sein, so wie beim ClientContext()-Konstruktor (JavaScript: ClientContext(serverRelativeUrl)). In JavaScript verwendet der Konstruktor eine serverrelative URL, die verwaltete Version dieses Konstruktors verwendet jedoch eine vollständige URL oder einen Uri.

  • Von den beiden Objektmodellen werden verschiedene Datenwerttypen verwendet. Das JavaScript-Objektmodell besitzt nicht für alle Datenwerttypen im verwalteten Objektmodell von .NET Framework Entsprechungen. Von JavaScript wird StringCollection wie string[] behandelt. Andererseits besitzt JavaScript einige Werte, die .NET Framework nicht besitzt, z. B. NaN oder negative und positive unendliche Werte.

  • Im JavaScript-Objektmodell ist die Formularauthentifizierung zulässig, Sie können jedoch nicht den Authentifizierungsmechanismus zum Herstellen einer Verbindung mit dem Server angeben. Informationen zu den verwalteten Clientobjektmodellen und zur Formularauthentifizierung finden Sie unter Authentifizierung in den verwalteten Clientobjektmodellen.

  • Wenn Sie ein Element erstellen und einer vorhandenen Auflistung hinzufügen, können mit dieser Auflistung keine weiteren Aktualisierungen durchgeführt werden, während die Abfrage aussteht. Dieses Problem bezieht sich auf das Hinzufügen eines Elements zu einer Auflistung. Andernfalls könnten mehrere Clients gleichzeitig Lese- und Schreibvorgänge für vorhandene Elemente in einer Auflistung ausführen.

  • Zur allgemeinen Sicherheit können Sie das JavaScript-Objektmodell nur dann auf einer Seite verwenden, die mit Microsoft SharePoint Foundation 2010-Daten verwendet wird, wenn die Seite ein Formulardigeststeuerlement enthält, z. B. <SharePoint:FormDigest runat="server"/>.

  • Im Allgemeinen ist das bereichsübergreifende Freigeben von Variablen nicht möglich, daher können Sie keine allgemeinen Codierungsmuster für Anweisungen vom Typ try/catch/finally verwenden.

  • Ein RoleDefinitionBindingCollection-Objekt, das beim Erstellen von Rollenzuweisungen verwendet wird, besitzt keine Objektidentität. Wenn Sie demnach ein neues RoleDefinitionBindingCollection-Objekt erstellen und anschließend versuchen, das Objekt nach der Erstellung einer Rollenzuweisung zu verwenden, wird ein Fehler ausgegeben.

  • Einige Vergleiche, bei denen zwischen Groß- und Kleinschreibung nicht unterschieden wird, funktionieren auf Client und Server unterschiedlich. In einigen serverseitigen Vergleichen wird das Gebietsschema der Website für den Vergleich verwendet, der Client hingegeben kann nur eine invariante Kultur verwenden, um häufige Roundtrips zu vermeiden. Von SharePoint Foundation 2010 werden keine Vergleiche unterstützt, bei denen zwischen Groß- und Kleinschreibung nicht unterschieden wird, wenn der Server ein Websitegebietsschema verwendet.

  • Aufgrund der Einschränkungen eines asynchronen Postback stellen Sie möglicherweise fest, dass Inlineskript nicht aufgerufen wird, wenn sich die Seite in bestimmten Modi befindet, z. B. wenn sich eine Wiki-Seite im Bearbeitungsmodus befindet. Verwenden Sie in diesem Fall ein ScriptManager-Steuerelement und seine RegisterStartupScript()-Methode, um einen Startskriptblock zum Ausführen des Codes zu registrieren, anstatt ein Inlineskript zu verwenden.

Anzeigen: