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.

Programming Considerations

Describes some requirements for StreamInsight programming

StreamInsight End-to-End Example

Describes the various components and steps involved in creating StreamInsight application and includes an end-to-end example of an application.

Creating Event Types

Provides guidelines for creating event types. An event type defines the events that are published by the event source or consumed by the event sink.

Creating Input and Output Adapters

Provides the information you need to create input and output adapters. Adapters are software transformers that deliver events into or out of a StreamInsight server.

Using Observable and Enumerable 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.

Starting and Stopping Queries

Describes how to start and stop a query in a StreamInsight server.

Writing Query Templates in 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.

Composing Queries at Runtime

Describes how to improve query flexibility, reusability, and ease of maintenance by composing queries at runtime.

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.

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. 


Included Namespaces and Functionality



The application SDK.


The StreamInsight query template language.


The APIs for user-defined aggregates and operators.



The Adapter APIs.



The APIs used to expose the Web service methods.