Updated for Orleans 1.0.0; updated for latest NuGet versions; enhancements in ReadStateAsync() and WriteStateAsync() to specify IDictionary<string, object> for clarity; added three configuration options to control serialization options.
Richard -
I've made a bunch of updates here, some I'd argue are bug fixes, some are enhancements... here's what I've done:
Update references to Orleans 1.0.0, including a few class name changes
Added a providerRuntime.GetLogger() call to match the new 1.0.0 API
Specifically updated ReadStateAsync() to deserialize into an IDictionary<string, object>, since that's what WriteStateAsync() actually serializes from (this was a bug on deserialization I was running into).
Added a line of verbose logging in WriteStateAsync()
Updated NuGet packages to latest versions
Added a sanity check error condition if DataConnectionString isn't provided
Added three boolean configuration options; all of these options have the same default values as before, so existing code will not break
SerializeTypeNames: this will add the type names to the serialized data; I need this because I serialize DerivedEvents from a List (Event = base class) and I need to be able to recover the derived types on deserialization
UseFullAssemblyNames: this will keep strong-named assembly versions in the serialized data, meaning that the data must be deserialized with the same version of code
IndentJSON: this writes the serialized data out with indenting and formatting... easier to debug with.
I think that's it. It's a fair bit of change... happy to handle it however you'd like. If you take these changes, I'll follow up with a wiki page that explains the configuration options.
Updated for Orleans 1.0.0; updated for latest NuGet versions; enhancements in ReadStateAsync() and WriteStateAsync() to specify IDictionary<string, object> for clarity; added three configuration options to control serialization options.
Richard -
I've made a bunch of updates here, some I'd argue are bug fixes, some are enhancements... here's what I've done:
I think that's it. It's a fair bit of change... happy to handle it however you'd like. If you take these changes, I'll follow up with a wiki page that explains the configuration options.
Thanks! Scott Seattle, WA, USA