Überlegungen zur Programmierung

In diesem Thema werden einige Anforderungen für die StreamInsight-Programmierung beschrieben.

.NET Framework-Versionen

In StreamInsight werden .NET Framework 3.5 mit Service Pack 1 und .NET Framework 4 für die Anwendungsentwicklung unterstützt.

Verwenden Sie in Ihrer Anwendung Ereignisquellen oder -senken, die die IObservable- oder IObserver-Schnittstellen unterstützen, muss die Anwendung auf .NET Framework 4 ausgerichtet sein (nicht das .NET Framework 4-Clientprofil). Weitere Informationen finden Sie unter Verwenden von Observable- und Enumerable-Ereignisquellen und -senken (StreamInsight).

StreamInsight-Versionen

Bei der Installation einer neuen Version von StreamInsight wird die neue Version parallel neben bereits installierten Versionen installiert. Für vorherige Versionen kompilierte Anwendungen und Bibliotheken werden weiterhin unverändert ausgeführt. Nach der Installation einer neuen Version von StreamInsight werden Sie folgende Veränderungen auf dem Computer bemerken:

  • Die neuen Assemblys werden in einen neuen Ordner im Dateisystem installiert. Beispiel: C:\Program Files\Microsoft StreamInsight 1.1.

  • Die neuen Assemblys werden parallel zu den bereits installierten Versionen im globalen Assemblycache (GAC) installiert.

  • In Microsoft Visual Studio kann für alle installierten StreamInsight-Versionen entwickelt werden. Die Assemblys für die installierten Versionen werden im Dialogfeld Verweis hinzufügen angezeigt.

  • Wenn Sie eine Anwendung für eine neuere Version von StreamInsight kompilieren, wird ein Ausnahmefehler ausgelöst, sobald Sie sie mit einer älteren Version von StreamInsight ausführen.

  • Zur Laufzeit werden Assemblyverweise in Anwendungen oder Bibliotheken, die für eine vorherige Version kompiliert wurden, zur neuesten Version der Assemblys umgeleitet. Um die Weiterleitung zu umgehen, können Sie der Konfigurationsdatei der Anwendung Informationen hinzufügen, mit denen die installierte Verlegerrichtlinie überschrieben wird. Geben Sie in app.config für die StreamInsight-Anwendung <publisherPolicy apply="no" /> unter dem <configuration><runtime><assemblyBinding>-Tag an. Wenn diese Tags nicht vorhanden sind, erstellen Sie sie, wie im folgenden Beispiel veranschaulicht:

    …
        <configuration>
            <runtime>
                <assemblyBinding>
                     <publisherPolicy apply="no" />
                </assemblyBinding>
            </runtime>
        </configuration>
    …
    

    Weitere Informationen finden Sie im Abschnitt zur Umgehung von Verlegerrichtlinien unter Umleiten von Assemblyversionen. Wenn Sie die Assemblyumleitung umgehen möchten, stellen Sie sicher, dass die Umgehung der Umleitung für alle StreamInsight-Assemblys erfolgt.

Zusätzliche Informationen finden Sie im Abschnitt "Installieren einer neuen Version von StreamInsight" unter Installation (StreamInsight).

Vergleichen von Zeichenfolgen in StreamInsight-Metadaten

Wenn Sie den Namen eines StreamInsight-Objekts in einem Methodenaufruf übergeben, werden die Zeichenfolgen lediglich mit der Ordinalzahl abgeglichen. Hierbei wird die Kultur vernachlässigt. Daher werden einige Zeichenfolgen als von der Ordinalzahl abweichend identifiziert, obwohl innerhalb der relevanten Kultur eine Übereinstimmung vorliegt. Dieses Problem kann beim Erstellen eines neuen Objekts oder Abrufen eines vorhandenen Objekts anhand einer der folgenden Methoden oder Eigenschaften auftreten: