编程时的注意事项

本主题介绍 StreamInsight 编程中的一些要求。

.NET Framework 版本

StreamInsight 支持通过 .NET Framework 3.5 Service Pack 1 和 .NET Framework 4 进行应用程序开发。

如果应用程序使用实现 IObservable 或 IObserver 接口的事件源或接收器,该应用程序的目标必须为 .NET Framework 4(而不是 .NET Framework 4 Client Profile)。有关详细信息,请参阅使用可观察和可枚举的事件源和事件接收器 (StreamInsight)

StreamInsight 版本

安装新版 StreamInsight 时,新版本将随以前安装的版本并行安装。针对以前版本编译的应用程序和库仍继续运行而无需任何修改。安装新版 StreamInsight 后,您将在计算机上注意到以下更改:

  • 新程序集安装在文件系统中的新文件夹中,例如 C:\Program Files\Microsoft StreamInsight 1.1

  • 新程序集随以前安装的版本并行安装到全局程序集缓存 (GAC) 中。

  • 在 Microsoft Visual Studio 中,您可以针对 StreamInsight 的任意安装版本进行开发。每一安装版本的程序集均显示在**“添加引用”**对话框中。

  • 如果对较新版本的 StreamInsight 编译应用程序,则对较早版本的 StreamInsight 运行该应用程序时,该应用程序将失败并引发异常。

  • 运行期间,针对以前版本编译的应用程序或库中的程序集引用将重定向到这些程序集的最新版本。为跳过这种重定向,您可以向该应用程序的配置文件添加信息,以覆盖已安装的发布者策略。在 StreamInsight 应用程序的 app.config 中,在 <configuration><runtime><assemblyBinding> 标记下指定 <publisherPolicy apply="no" />。如果不存在这些标记,则创建它们,如下面的示例中所示:

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

    有关详细信息,请参阅重定向程序集版本中的“跳过发布者策略”一节。如果选择跳过程序集重定向,请确保为所有 StreamInsight 程序集都跳过重定向。

有关其他信息,请参阅安装 (StreamInsight) 中的“安装新版 StreamInsight”。

StreamInsight 元数据中的字符串比较

在方法调用中传递 StreamInsight 对象的名称时,仅按序号比较字符串,而忽略区域性。因此,某些字符串按序号比较可能被标识为不同的字符串,但实际上在目标区域性中这些字符串是相同的。当使用以下方法和属性之一创建新对象或检索现有对象时,就可能出现这个问题: