public override void Read(Connection connection, XElement node)
        {
            base.Read(connection, node);

            var instanceID = long.Parse(node.Attribute("InstanceID").Value);

            if (!connection.TryGetRemoteObject(instanceID, out proxy))
            {
                throw new ServerErrorException();
            }
        }
Exemple #2
0
        static C ReadProxy <C> (Connection connection, XElement node, Func <long, C> createClientFunc)
            where C : class, ObjectProxy
        {
            var objectID = long.Parse(node.Attribute("ObjectID").Value);

            C client;

            if (connection.TryGetRemoteObject(objectID, out client))
            {
                return(client);
            }

            client = createClientFunc(objectID);
            connection.RegisterObjectClient(client);
            return(client);
        }