Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » MobiLink - Serveradministration » MobiLink-Server-APIs » Schreiben eines Synchronisationsskripts in .NET » Gemeinsam verwendete Assemblies laden

 

Laden von .NET-Assemblys

Eine .NET-Assembly ist ein Paket von Typen, Metadaten und ausführbarem Code. In .NET-Anwendungen muss der gesamte Code in einer Assembly enthalten sein. Assembly-Dateien haben die Erweiterung .dll oder .exe.

Es gibt zwei Arten von Assemblies:

  • Private Assemblies   Eine private Assembly ist eine Datei im Dateisystem.

  • Gemeinsam verwendete Assemblies   Eine gemeinsam verwendete Assembly ist eine Assembly, die im globalen Assembly-Cache installiert ist.

Damit MobiLink eine Klasse laden und eine Methode dieser Klasse aufrufen kann, muss das Programm die Position der Assembly ermitteln, die die Klasse enthält. MobiLink braucht nur die Position der Assembly zu ermitteln, die direkt aufgerufen wird. Die Assembly kann dann ihrerseits jede beliebige andere erforderliche Assembly aufrufen.

Beispiel: MobiLink ruft "MeineAssembly" und "MeineAssembly" ruft "UtilityAssembly" und "NetworkingUtilsAssembly" auf. In dieser Situation muss MobiLink nur für den Aufruf von "MeineAssembly" konfiguriert werden.

MobiLink bietet zwei Möglichkeiten für das Laden von Assemblies:

  • -sl dnet verwenden ( -MLAutoLoadPath )   Diese Option kann nur für private Assemblies verwendet werden. Sie setzt den Pfad auf das Stammverzeichnis der Anwendung und lädt alle in diesem Verzeichnis enthaltenen Assemblies.

    Wenn Sie die Option -MLAutoLoadPath verwenden, können Sie im Ereignisskript bei der Eingabe eines voll qualifizierten Methodennamens keine Domäne angeben.

    Wenn Sie einen Pfad und ein Verzeichnis mit –MLAutoLoadPath festlegen, geht MobiLink wie folgt vor:

    • Dieser Pfad wird als Basispfad der Anwendung festgesetzt.

    • Alle Klassen in allen Dateien mit der Erweiterung .dll oder .exe in dem angegebenen Verzeichnis werden geladen.

    • Eine Anwendungsdomäne wird erstellt, in die alle Benutzerklassen geladen werden, für die keine Domäne festgelegt wurde.

    Assemblies im globalen Assembly-Cache können mit dieser Option nicht direkt aufgerufen werden. Diese gemeinsamen Assemblies können mit –MLDomConfigFile aufgerufen werden.

  • -sl dnet verwenden ( -MLDomConfigFile )   Diese Option kann für private und gemeinsame Assemblies verwendet werden. Sie erfordert eine Konfigurationsdatei, die Domänen- und Assembly-Einstellungen enthält. Verwenden Sie diese Option, wenn Sie gemeinsame Assemblies benutzen und nicht alle Assemblies aus dem Anwendungsstammpfad laden wollen oder wenn Sie aus irgendeinem anderen Grund eine Konfigurationsdatei verwenden müssen.

    Wenn diese Option verwendet wird, liest MobiLink die Einstellungen in der Konfigurationsdatei der angegebenen Domäne. Eine Domänen-Konfigurationsdatei enthält Konfigurationseinstellungen für eine oder mehrere .NET-Domänen. Wenn mehrere Domänen in der Datei angegeben sind, wird die erste von ihnen als Standarddomäne verwendet. (Die Standarddomäne wird verwendet, wenn für ein Skript keine Domäne festgelegt wurde.)

    MobiLink versucht zunächst, eine Assembly als private Assembly zu laden. Schlägt dies fehl, wird sie aus dem globalen Assembly-Cache eingelesen. Private Assemblies müssen im Anwendungsstammverzeichnis untergebracht sein. Gemeinsame Assemblies werden aus dem globalen Assembly-Cache geladen.

Bei der Verwendung der Option -MLDomConfigFile können nur Assemblies, die in der Domänen-Konfigurationsdatei angegeben sind, direkt aus Ereignisskripten aufgerufen werden.

 Beispiel einer Domänen-Konfigurationsdatei