Backward Compatibility (StreamInsight)

StreamInsight 2.0

StreamInsight2.0 requires SQL Server 2012 license and .NET Framework 4.0. Applications or adapters developed using StreamInsight1.2 assemblies need not be recompiled in order to work with a StreamInsight 2.0 instance. The following sections provide steps to configure/migrate existing StreamInsight applications and StreamInsight Host service to work with a StreamInsight 2.0 instance.

Note

For information about known issues, see Microsoft StreamInsight 2.0 Release Notes. For information about the new features in this release, see What's New (StreamInsight).

Migrating StreamInsight 1.2 applications

The following procedure provides steps to migrate existing applications that use an embedded StreamInsight 1.2 server to use StreamInsight 2.0 server:

  1. Uninstall the 1.2 instance.

  2. Setup a new 2.0 instance with the same name.

    Warning

    You will have to recompile the application if you install the 2.0 instance with a different name and the instance name used in the application is not configurable.

  3. Add the StreamInsight redirection configuration to app.config by following the steps in Assembly Binding Redirection.

  4. Add the .NET Framework 4.0 redirection to the app.config.

    <configuration>
        <startup>
            <supportedRuntime version="v4.0"/>
        </startup>
    </configuration>
    

Migrating StreamInsight Windows Service

The following procedure provides steps to migrate an existing StreamInsight Windows service that use 1.2 StreamInsight instance to use a 2.0 instance.

  1. Uninstall the 1.2 instance.

  2. Setup a new 2.0 instance with the same name.

  3. Copy the host specific files such as binaries for user-defined operators and adapters, SDF files, and app.config files from the 1.2 installation folder (for example: C:\Program Files\Microsoft StreamInsight 1.2\Host) to the 2.0 installation folder (C:\Program Files\Microsoft StreamInsight 2.0\Host).

  4. Add the StreamInsight redirection configuration to app.config by following the steps in Assembly Binding Redirection.

Assembly Binding Redirection

The re-binding of an application that was originally bound to StreamInsight 1.2 assemblies to 2.0 assemblies can be configured in app.config as shown in the following example:

<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.ComplexEventProcessing" publicKeyToken="89845dcd8080cc91"/>
                <bindingRedirect oldVersion="12.0.0.0" newVersion="20.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.ComplexEventProcessing.Adapters" publicKeyToken="89845dcd8080cc91"/>
                <bindingRedirect oldVersion="12.0.0.0" newVersion="20.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.ComplexEventProcessing.ManagementService" publicKeyToken="89845dcd8080cc91"/>
                <bindingRedirect oldVersion="12.0.0.0" newVersion="20.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.ComplexEventProcessing.Observable" publicKeyToken="89845dcd8080cc91"/>
                <bindingRedirect oldVersion="12.0.0.0" newVersion="20.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

Warning

Failing to redirect the binding in the app.config can lead to errors that do not directly indicate the problem. For example, if you try to start an adapter that references 1.2 assemblies on a computer with a 2.0 instance, you may see the following error:

Microsoft.ComplexEventProcessing.ConnectionException: There was an error in the runtime: The query 'EqualDownticksUpticksQuery' (query template 'EqualDownticksU pticksQuery_Template') could not be started.-->'StreamInsight.Samples.Adapters.SimpleTextFileReader.TextFileReaderFactory, StreamInsight.Samples.Adapters.SimpleTextFileReader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not implement an input adapter factory interface.

You might see the following error when deploying a user-defined operator:

Microsoft.ComplexEventProcessing.ConnectionException: The management service encountered an error: The user-defined type 'AfaOperator`2' is not derived from any recognized abstract class for user-defined operators