public static RabbitMqContext GetContext() { RabbitMqContext newContext = new RabbitMqContext(); newContext.connection = GetRabbitConnection(); return newContext; }
//наверное в данном случае можно определить Finalize для типа RabbitMqContext и //делегат в RabbitMqContextFactory, который будут активаировать экземпляры RabbitMqContext когда //до них доберется сборщик мусора, и в этом делегает будут освобождаться соединеия. ато CloseContext как-то совсем неудобно //еще можно поместить вызов в finally блоке public static void CloseContext(RabbitMqContext context) { connectionPool.Find(conn => conn.connection == context.connection).busy = false; }