Server: private void GetFeatures() { ………….. PostgreLayer.FeatureSource.Open(); FeaturesToTransfer featuresToTransfer = new FeaturesToTransfer(); featuresToTransfer. Features= PostgreLayer.FeatureSource.GetAllFeatures(ReturningColumnsType.AllColumns); GeoSerializer geoSericalizer = new GeoSerializer(); string featuresToTransferSerialized = geoSericalizer.Serialize(featuresToTransfer); //use socket to transfer featuresToTransferSerialized ………………… } [Serializable] class FeaturesToTransfer { public Collection Features; } Client: private void recievingFeatures(string featuresSerialized) { ………….. GeoSerializer geoSericalizer = new GeoSerializer(); FeaturesToTransfer featuresToTransfer = geoSericalizer.Deserialize(featuresToTransferSerialized) as FeaturesToTransfer; InMemoryFeatureLayer inmLayer = new InMemoryFeatureLayer(); foreach (Feature feature in featuresToTransfer.Features) { inmLayer.InternalFeatures.Add(feature); } …………….. } [Serializable] class FeaturesToTransfer { public Collection Features; }