Backward Compatibility (StreamInsight)

 

StreamInsight 2.1

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

Note


For information about the new features in this release, see What's New (StreamInsight).

Migrating StreamInsight 1.2 or 2.0 applications

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

  1. Uninstall the 1.2 or 2.0 StreamInsight instance.

  2. Install a new 2.1 instance with the same name.

    Warning


    If you install the 2.1 instance with a different name, and the instance name used in the application is not configurable, you will need to modify the application to use the new instance name and recompile.

  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 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 uses a 1.2 or 2.0 StreamInsight instance to use a 2.1 instance.

  1. Uninstall the 1.2 or 2.0 StreamInsight instance.

  2. Install a new 2.1 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 or 2.0 installation folder (for example: C:\Program Files\Microsoft StreamInsight 1.2\Host) to the 2.1 installation folder (C:\Program Files\Microsoft StreamInsight 2.1\Host).

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

Assembly Binding Redirection

If you have an application that was originally bound to StreamInsight 1.2 or 2.0 assemblies, you can re-bind it to 2.1 assemblies by configuring app.config to redirect the binding. The following example demonstrates re-binding version 1.2 assemblies - if you are re-binding version 2.0 assemblies, use "20.0.0.0" for the value of oldVersion throughout.

  
<configuration>  
    <runtime>  
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
            <dependentAssembly>  
                <assemblyIdentity name="Microsoft.ComplexEventProcessing" publicKeyToken="89845dcd8080cc91"/>  
                <bindingRedirect oldVersion="12.0.0.0" newVersion="21.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="21.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="21.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="21.0.0.0"/>  
            </dependentAssembly>  
        </assemblyBinding>  
    </runtime>  
</configuration>  
  

Warning


Failing to redirect the binding in 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.1 StreamInsight 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 'AfaOperator2' is not derived from any recognized abstract class for user-defined operators`