AzureStorageExplorer icon indicating copy to clipboard operation
AzureStorageExplorer copied to clipboard

Support serializing objects with circular references

Open craxal opened this issue 1 year ago • 0 comments

Storage Explorer serializes many objects to facilitate multi-process communications. To pass exceptions across process boundaries, Storage Explorer uses the ExceptionSerializer class to serialize and deserialize exceptions. The serialization process requires objects to contain no cyclical references. For most situations, this works just fine, because these exceptions are internal, and their structure can be controlled. However, sometimes an exception we have no control over, such as one thrown by a 3rd-party library, will contain cyclical object references. This can result in some very cryptic behavior.

Since we have no control over these kinds of exceptions, we should add support to ExceptionSerializer for circular references.

craxal avatar Jul 09 '24 17:07 craxal