Comments (5)
This should be able to use DataContractSerializer which will move the onus of responsibility to programmers who want to use CorrugatedIron. On the bright side: it'll work. Otherwise, everyone will be filled with rage because their code is now full of decorators and attributes and horrible line noise.
from riak-dotnet-client.
You guys might want to look a look at what Demis has already done in ServiceStack.Text... he built this for a few different needs -- serialization over a REST service layer, serialization to Redis (where he uses his Json serializer) and for his OrmLite. I know you're already using Json.net, but there are advantages to using his library, including a set of helpers over DataContractSerializer [1] that might make your life easier when supporting Xml. He also supports some other formats, though for Riak, if you want to use search, Json and Xml are the way to go.
The code is pretty modular and ready to go:
https://github.com/ServiceStack/ServiceStack.Text
Just letting you know about it as an option in case you haven't seen it.
[1] https://github.com/ServiceStack/ServiceStack.Text/blob/master/src/ServiceStack.Text/XmlSerializer.cs
from riak-dotnet-client.
Thanks for the heads up. That might be a lot easier to implement and maintain in the long run. Right now I suspect that our XML support in v0.1.2 requires fully loading the XML document into memory before doing any magic. This won't work well for larger objects.
I know that JSON.NET falls down, performance wise, around a certain document size. That's always been a concern of ours as well, but we were going to leave that until we encountered it in the wild.
I'll clear out a few tasks and spike some changes with this to see what kind of changes it makes for performance.
from riak-dotnet-client.
Great suggestion Iristyle, thanks for that! JP and I will look into this and see how best to incorporate it.
from riak-dotnet-client.
Implemented a fix for this in commit c6d55b4
from riak-dotnet-client.
Related Issues (20)
- Issue with health check / node selection HOT 2
- No results found yields IsSuccess == false HOT 1
- Compiling under Mono breaks stuff HOT 1
- Default value for deletedvclock
- RiakClient.Delete Bug HOT 5
- Riak TS support
- Nodes are not marked Offline for a failed GET request HOT 10
- Riak client does not support the use of a load balancer HOT 14
- The "externalLoadBalancer" doesn't take multiple-load balancer scenarios into account HOT 2
- RiakClient.Delete issue [JIRA: CLIENTS-898] HOT 3
- Don't lose original error when returning "ClusterOffline"
- Update riak_pb submodule when tagged
- Optional fields with default values in PB messages
- Upon save/update failure - no way to get Id
- Target .NET Standard
- Revamp publish process
- Riak TS - when rpberrorresp is returned, text is unavailable HOT 1
- Fluent connection configuration ? HOT 2
- System.configuration could not be resolved HOT 1
- Add warning and safety mechanism to prevent unintentional list [buckets | keys] operations
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riak-dotnet-client.