Question: I read about NEsper a lot & I tried the example code.
I have some questions :

1. it is an event proccessor engine, how it gets the events?
2. Where it saves the data?
3. when it polls it?
4. Who polls it?
5. I downloaded a project for example, big project, If I want to use NEsper I have to use the project? I have to build another project? How can I use it?

Answer: 
I worked with the Java implementation of Esper last year. Nesper is the implementation for .NET of the same product. Basically, 

1. It is in brief, a library for event processing, I would not call it engine though. Events can be passed to your implementation from any source you want, generally you encapsulate data (as POJOs) and pass it into the processing runtime, it will then execute your queries as soon as "patterns" are found.
2. The event processing model doesn't imply data storage. Events move through the engine and based on your queries some elements are cached in order to match conditions. No database or repository needed.
3. When a pattern is found and can trigger composite ("complex") events.
4. Information itself. In contrast to DB queries (where you pull information), data is pushed into the engine and a set of operations is performed on the data stream. You can set timers and similar stuff if your project requires it.
5. Begin with something simple. Like this [tutorial](http://coffeeonesugar.wordpress.com/2009/07/21/getting-started-with-esper-in-5-minutes/) 
This is written in Java but I guess it would't be so hard to implement using a .NET language.

Best luck.
extending above answer.

> 
> Where it saves the data?
> 
> 
> 

based on pattern (window) you use, Esper will keep some data in memory.

What will happen if your machine/application will restart? Esper will lose state (in memory cache data). For that Esper provides license [EsperHA](http://www.espertech.com/esperha/), so you can manage state outside of your machine (like redis cache)