プログラミングの考慮事項
このトピックでは、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 オブジェクトの名前を渡すと、その文字列は序数でのみ比較され、カルチャは無視されます。その結果、一部の文字列が、目的のカルチャでは同一であるにもかかわらず、序数によって異なる文字列と見なされる場合があります。この問題は、次のメソッドやプロパティを使用して新しいオブジェクトを作成したり既存のオブジェクトを取得したりするときに発生する可能性があります。