Wenn Sie Synchronisationsskripten in .NET implementieren, müssen Sie MobiLink darüber informieren, wo sich die Pakete, Klassen und Methoden befinden, die in Ihren Assemblies enthalten sind.
Erstellen Sie Ihre Klassen. Schreiben Sie für jedes einzelne erforderliche Synchronisationsereignis eine Methode. Diese Methoden müssen öffentlich sein.
Weitere Hinweise zu Methoden finden Sie unter Methoden.
Jede Klasse mit nichtstatischen Methoden muss über einen öffentlichen Konstruktor verfügen. Der MobiLink-Server instanziert automatisch jede einzelne Klasse, wenn eine Methode in der betreffenden Klasse zum ersten Mal für eine Verbindung aufgerufen wird.
Siehe Konstruktoren.
Wählen Sie eine oder mehrere Assemblies. Referenzieren Sie beim Kompilieren die Datei iAnywhere.MobiLink.Script.dll, die ein Repository von API-Klassen des MobiLink-Servers enthält, die in Ihren eigenen .NET-Methoden verwendet werden sollen. iAnywhere.MobiLink.Script.dll befindet sich unter Installationsverzeichnis\Assembly\V2.
Sie können Ihre Klasse von der Befehlszeile aus kompilieren bzw. Visual Studio oder eine andere .NET-Entwicklungsumgebung verwenden.
Kompilieren Sie Ihr Projekt.
So kompilieren Sie beispielsweise von Visual Studio aus:
Wählen Sie im VS.NET Projektmenü die Option Vorhandenes Element hinzufügen.
Suchen Sie die Datei iAnywhere.MobiLink.Script.dll.
In der Liste Offen wählen Sie Datei verknüpfen.
Verwenden Sie für Visual Studio immer die Dateiverknüpfungsmethode. Verwenden Sie nicht die Option "Verweis hinzufügen", um iAnywhere.MobiLink.Script.dll zu referenzieren. Die Option "Verweis hinzufügen" dupliziert die Datei iAnywhere.MobiLink.Script.dll im physischen Verzeichnis Ihrer Klassen-Assembly. Dadurch entstehen Probleme für den MobiLink-Server.
Verwenden Sie das Menü Erstellen, um Ihr Assembly zu erstellen.
Sie können auch wie nachfolgend beschrieben über die Befehlszeile kompilieren:
Ersetzen Sie dll-Pfad durch den Pfad zur Datei iAnywhere.MobiLink.Script.dll, z.B. in C#:
csc /out:dll-pathout.dll /target:library /reference:dll-pathiAnywhere.MobiLink.Script.dll sync_v1.cs |
In den MobiLink-Systemtabellen Ihrer konsolidierten Datenbank geben Sie für jedes einzelne Skript den Namen des aufzurufenden Pakets, der Klasse und der Methode an. Pro Skriptversion ist nicht mehr als eine Klasse zulässig.
Sie können diese Angaben beispielsweise mit der gespeicherten Prozedur ml_add_dnet_connection_script oder ml_add_dnet_table_script in die MobiLink-Systemtabellen einfügen. Wenn die nachfolgende SQL-Anweisung in einer SQL Anywhere-Datenbank ausgeführt wird, legt sie fest, dass myNamespace.myClass.myMethod immer dann ausgeführt werden soll, wenn auf Verbindungsebene das Ereignis authenticate_user eintritt.
CALL ml_add_dnet_connection_script( 'version1', 'authenticate_user', 'myNamespace.myClass.myMethod' ) |
Der vollständig angegebene Methodenname berücksichtigt die Groß- und Kleinschreibung.
Dieser Prozeduraufruf bewirkt, dass die Spalte script_language in der Systemtabelle ml_script das Wort dnet enthalten muss. Die Skriptspalte enthält den qualifizierten Namen einer öffentlichen .NET-Methode.
Siehe ml_add_dnet_connection_script-Systemprozedur und ml_add_dnet_table_script-Systemprozedur.
Es besteht außerdem die Möglichkeit, diese Angaben mit Sybase Central hinzuzufügen.
Weisen Sie den MobiLink-Server an, Assemblies zu laden und den CLR zu starten. Sie informieren MobiLink mit Optionen in der mlsrv12-Befehlszeile darüber, wo sich diese Assemblies befinden. Sie können zwischen zwei Optionen wählen:
-sl dnet verwenden ( -MLAutoLoadPath ) Hiermit setzen Sie den Pfad auf das Stammverzeichnis der Anwendung und laden alle privaten Assemblies aus diesem Verzeichnis. In der Regel wird diese Option bevorzugt. Um z.B. alle Assemblies in den dll-Pfad zu laden, geben Sie Folgendes ein:
mlsrv12 -c "dsn=consolidated1" -sl dnet(-MLAutoLoadPath=dll-path) |
Wenn Sie die Option -MLAutoLoadPath verwenden, können Sie im Ereignisskript bei der Eingabe eines voll qualifizierten Methodennamens keine Domäne angeben.
Siehe Assemblies laden und mlsrv12-Option -sl dnet .
-sl dnet verwenden ( -MLDomConfigFile ) Diese Option erfordert eine Konfigurationsdatei, die Domänen- und Assembly-Einstellungen enthält. Verwenden Sie diese Option, wenn Sie gemeinsam verwendete Assemblies verwenden und nicht alle Assemblies in ein Verzeichnis laden wollen oder wenn Sie aus irgendeinem anderen Grund eine Konfigurationsdatei verwenden müssen.
Weitere Hinweise zum Laden von gemeinsam verwendeten Assemblies finden Sie unter Assemblies laden. Weitere Hinweise zur mlsrv12-Option -sl dnet finden Sie unter mlsrv12-Option -sl dnet .
Sie können die Option -MLAutoLoadPath oder -MLDomConfigFile verwenden, aber nicht beide.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |