Developer's Guide (StreamInsight)


The Microsoft StreamInsight platform includes a robust object model that includes many features that make programming StreamInsight applications easier, more flexible, and more powerful. The development models and guidelines you can use to create StreamInsight applications are described in this section and demonstrated with examples.

StreamInsight Programming Considerations
Describes some requirements for StreamInsight programming

StreamInsight Examples
A set of examples that describe the various components and steps involved in creating a StreamInsight application.

Using Event Sources and Event Sinks (StreamInsight)
Describes the support in StreamInsight for event sources and event sinks that implement the IObservable and IEnumerable interfaces. These interfaces are the dominant general-purpose contracts in the .NET Framework for pulling (IEnumerable) and pushing (IObservable) data among the components of an application.

Using StreamInsight LINQ
Demonstrates how to write LINQ queries to perform various computational operations over the data that has been delivered into the StreamInsight server.

Advancing Application Time
Describes how to use Current Time Increment (CTI)s to commit sequences of events and release computed results to the query output. A CTI is a special kind of punctuation event that is a central component of the StreamInsight temporal model.

Publishing and Connecting to the StreamInsight Server
Describes how to publish or connect to the StreamInsight server.

Building Resilient StreamInsight Applications
Describes how to implement a StreamInsight application that can recover query state after a system failure.

Security and Protection (StreamInsight)
Describes important security information for Microsoft StreamInsight.

Using the StreamInsight Event Flow Debugger
Describes the StreamInsight Event Flow Debugger. The debugger enables you to inspect, debug, and reason about the flow of events through a StreamInsight query.

Input and Output Adapters (Legacy Model)
Describes StreamInsight input and output adapters. Adapters were introduced in an earlier version of StreamInsight and are still available for developers who are maintaining legacy code.

As a platform, StreamInsight surfaces as a set of DLLs that are installed on the host machine. The following table lists the subset of the installed DLLs that are needed as Visual Studio project references in order to develop a StreamInsight application.

DLLIncluded Namespaces and Functionality

The application SDK.


The StreamInsight query template language.


The APIs for user-defined aggregates and operators.


This namespace provides classes related to serialization.

The Adapter APIs.

The APIs used to expose the Web service methods.

Planning and Architecture (StreamInsight)
NIB StreamInsight Server Concepts