Hello together
I am using the below function, i can save the association view to an xml file via the Client.Objects.Save method but not able to read and use it again. Has anyone had any luck with this or can help me out ?
public void GetAssociationView(bool useCache)
{
if (useCache)
{
string path = GetCacheName();
List<Type> extraTypes = new List<Type>(Gurux.DLMS.GXDLMSClient.GetObjectTypes());
extraTypes.Add(typeof(GXDLMSAttributeSettings));
extraTypes.Add(typeof(GXDLMSAttribute));
XmlSerializer x = new XmlSerializer(typeof(GXDLMSObjectCollection), extraTypes.ToArray());
//You can save association view, but make sure that it is not change.
//Save Association view to the cache so it is not needed to retrieve every time.
if (File.Exists(path))
{
try
{
using (Stream stream = File.Open(path, FileMode.Open))
{
Console.WriteLine("Get available objects from the cache.");
Client.Objects.AddRange(x.Deserialize(stream) as GXDLMSObjectCollection);
stream.Close();
}
return;
}
catch (Exception ex)
{
if (File.Exists(path))
{
File.Delete(path);
}
throw ex;
}
}
}
GXReplyData reply = new GXReplyData();
ReadDataBlock(Client.GetObjectsRequest(), reply);
Client.ParseObjects(reply.Data, true);
}
There might be data that XmlSerializer can't serialize. For that reason, GXDLMSObjectCollection.Load and GXDLMSObjectCollection.Save methods are implemented.
Update:
Never mind figured it out should be like this
GXDLMSObjectCollection a = GXDLMSObjectCollection.Load(path);
Thanks for the help
-----------------------------------------------------------------------------
HI
I am using Guru.net 8.4.2208.2301 and Gurux.DLMS 9.0.2208.3001. GXDLMSObjectCollection.Save works and writes an xml to a file problem is reading it back
as far as i can see both of below cases do not resolve in a method . What am i missing here ? also i did not find an example on the internet
GXDLMSObjectCollection a = new GXDLMSObjectCollection();
a.Load
Client.Objects.Load
Hi,
Hi,
There might be data that XmlSerializer can't serialize. For that reason, GXDLMSObjectCollection.Load and GXDLMSObjectCollection.Save methods are implemented.
BR,
Mikko
HI
Update:
Never mind figured it out should be like this
GXDLMSObjectCollection a = GXDLMSObjectCollection.Load(path);
Thanks for the help
-----------------------------------------------------------------------------
HI
I am using Guru.net 8.4.2208.2301 and Gurux.DLMS 9.0.2208.3001. GXDLMSObjectCollection.Save works and writes an xml to a file problem is reading it back
as far as i can see both of below cases do not resolve in a method . What am i missing here ? also i did not find an example on the internet
GXDLMSObjectCollection a = new GXDLMSObjectCollection();
a.Load
Client.Objects.Load