EventPipe recovery after a disconnection and proper disposing of EventPipes

Discussion created by jason.maxwell on Oct 3, 2012
Latest reply on Oct 4, 2012 by hanyong

Code Overview


On startup, a service (written in C# .NET 4.0) creates an event pipe to a PI server using a point list of tags to monitor changes to the current values of those tags.  The service resides on different hardware than the PI server.  In the case where the service loses its connection to the PI server it will periodically attempt to reconnect.  My questions center around managing the PI Event Pipe after the connection to the PI server has been restored.






1.       During testing, I noticed that the PI Event Pipe persists after a loss of connection with the PI server followed by reconnection to the PI server 10 minutes later.  I’m assuming that the pinetmgr service facilitates this functionality.  Is there a period of time after which the PI Event Pipe must be reloaded (e.g. a reload is required after an hour or a day before the service reconnects to the PI server)?


2.  Assuming that the PI Event Pipe must be reloaded, is there a property for the EventPipe object or the PI server object that indicates that the pipe is still active/functioning before calling  EventPipe = PointList.Data.EventPipe again to reload/get a new event pipe?


3.       When the service stops, is there a method or some code that should be called to dispose of the EventPipe object or will EventPipe = null suffice?