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?