C sharp - comunicacion OPC en C#

   
Vista:

comunicacion OPC en C#

Publicado por pepe perez (15 intervenciones) el 13/11/2007 15:04:10
Hola a tod@s
estoy trabajando con comunicaciones OPC.
Me encuentro que vía GPRS se desconecta con bastante frecuencia con lo que mis procesos tienen que volver a conectar, lo que implica una desconexión y una nueva reconexión.
Lo que ocurre es que al desconectar no llega a producirse una desconexión real, lo que implica el aumento del consumo de memoria y la no liberación de hilos. Al cabo de un cierto tiempo el sistema se satura.
¿alguien puede darme una solución?
Muchísimas gracias.
Adjuto código.
private object OPCserverObj = null;
private IOPCServer ifServer = null;
private IOPCCommon ifCommon = null;
private IOPCBrowseServerAddressSpace ifBrowse = null;
private IOPCItemProperties ifItmProps = null;

private UCOMIConnectionPointContainer cpointcontainer = null;
private UCOMIConnectionPoint shutdowncpoint = null;
private int shutdowncookie = 0;

public void Disconnect()
{
if( ! (shutdowncpoint == null) )
{
if( shutdowncookie != 0 )
{
shutdowncpoint.Unadvise( shutdowncookie );
shutdowncookie = 0;
}
int rc = Marshal.ReleaseComObject( shutdowncpoint );
shutdowncpoint = null;
}

cpointcontainer = null;
ifBrowse = null;
ifItmProps = null;
ifCommon = null;
ifServer = null;
if( ! (OPCserverObj == null) )
{
int rc = Marshal.ReleaseComObject( OPCserverObj );
OPCserverObj = null;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder