We are in the process of upgrading our application from TG 10 to TG 14. When trying to serialize a WmtsAsyncLayer, using the GeoSerializer, we get the following exception:
System.InvalidOperationException: System.Net.Http.HttpClient is not marked as serializable
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForObject(Object serializationObject, GeoObjectNode baseObjectModel, String nodeName, Type parentType)
at ThinkGeo.Core.GeoObjectModeler.CreateMemberNode(String memberName, Object memberValue, Type memberType, Object memberOwner, GeoObjectNode baseMemberNode)
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForNormalType(Object serializationObject, GeoObjectNode currentModel)
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForObject(Object serializationObject, GeoObjectNode baseObjectModel, String nodeName, Type parentType)
at ThinkGeo.Core.GeoObjectModeler.CreateModelForObject(Object modelSource)
at ThinkGeo.Core.GeoObjectModeler.CreateModel(Object objectToModel, GeoObjectModelerMemberTypes memberTypes, BindingFlags bindingFlags, GeoObjectModelerDefaultValueMode defaultValueMode)
at ThinkGeo.Core.GeoSerializer.Serialize(Object objectToSerialize, String targetPathFilename)
at MapUtilities.WorkingSet.SaveWorkingSet(SilvicsTocControl oToc, String& sCurrentFileName) in C:\Silvics\SilvicsAI TG 14\SpatialAI TG 14\SpatialAI\MapUtilities\Classes\WorkingSet.vb:line 217
I tried again, setting the HttpClient property to Nothing (null) and then get the following exception:
System.InvalidOperationException: System.Net.WebRequest+WebProxyWrapper is not marked as serializable
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForObject(Object serializationObject, GeoObjectNode baseObjectModel, String nodeName, Type parentType)
at ThinkGeo.Core.GeoObjectModeler.CreateMemberNode(String memberName, Object memberValue, Type memberType, Object memberOwner, GeoObjectNode baseMemberNode)
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForNormalType(Object serializationObject, GeoObjectNode currentModel)
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForObject(Object serializationObject, GeoObjectNode baseObjectModel, String nodeName, Type parentType)
at ThinkGeo.Core.GeoObjectModeler.CreateModelForObject(Object modelSource)
at ThinkGeo.Core.GeoObjectModeler.CreateModel(Object objectToModel, GeoObjectModelerMemberTypes memberTypes, BindingFlags bindingFlags, GeoObjectModelerDefaultValueMode defaultValueMode)
at ThinkGeo.Core.GeoSerializer.Serialize(Object objectToSerialize, String targetPathFilename)
at MapUtilities.WorkingSet.SaveWorkingSet(SilvicsTocControl oToc, String& sCurrentFileName) in C:\Silvics\SilvicsAI TG 14\SpatialAI TG 14\SpatialAI\MapUtilities\Classes\WorkingSet.vb:line 217
So then I also set the WebProxy property to Nothing and got the following exception:
System.InvalidOperationException: System.Net.Http.HttpClientHandler is not marked as serializable
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForObject(Object serializationObject, GeoObjectNode baseObjectModel, String nodeName, Type parentType)
at ThinkGeo.Core.GeoObjectModeler.CreateMemberNode(String memberName, Object memberValue, Type memberType, Object memberOwner, GeoObjectNode baseMemberNode)
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForNormalType(Object serializationObject, GeoObjectNode currentModel)
at ThinkGeo.Core.GeoObjectModeler.CreateNodeForObject(Object serializationObject, GeoObjectNode baseObjectModel, String nodeName, Type parentType)
at ThinkGeo.Core.GeoObjectModeler.CreateModelForObject(Object modelSource)
at ThinkGeo.Core.GeoObjectModeler.CreateModel(Object objectToModel, GeoObjectModelerMemberTypes memberTypes, BindingFlags bindingFlags, GeoObjectModelerDefaultValueMode defaultValueMode)
at ThinkGeo.Core.GeoSerializer.Serialize(Object objectToSerialize, String targetPathFilename)
at MapUtilities.WorkingSet.SaveWorkingSet(SilvicsTocControl oToc, String& sCurrentFileName) in C:\Silvics\SilvicsAI TG 14\SpatialAI TG 14\SpatialAI\MapUtilities\Classes\WorkingSet.vb:line 217
Then I went on the set the HttpMessageHandler to Nothing and got this exception:
System.ArgumentException: Invalid name character in '9x0ProEqualSign'. The '9' character,
hexadecimal value 0x39, cannot be included in a name.
at System.Xml.XmlWellFormedWriter.CheckNCName(String ncname)
at System.Xml.XmlWellFormedWriter.WriteStartElement(String prefix, String localName, String ns)
at ThinkGeo.Core.XmlGeoSerializationFormatter.Save(GeoObjectNode node, XmlWriter xmlWriter)
at ThinkGeo.Core.XmlGeoSerializationFormatter.Save(GeoObjectNode node, XmlWriter xmlWriter)
at ThinkGeo.Core.XmlGeoSerializationFormatter.SaveCore(GeoObjectModel model, Stream stream)
at ThinkGeo.Core.GeoSerializer.Serialize(Object objectToSerialize, String targetPathFilename)
at MapUtilities.WorkingSet.SaveWorkingSet(SilvicsTocControl oToc, String& sCurrentFileName) in C:\Silvics\SilvicsAI TG 14\SpatialAI TG 14\SpatialAI\MapUtilities\Classes\WorkingSet.vb:line 217
So I’m out of ideas. Can you help?
Thanks!
Steve