Comments (11)
Does this include users being able to make deserialization as strict or as flexible as desired?
from dotnet-sdk.
@behoyh yes, it would use a user provided Serializer/Deserializer so it can do whatever it wants.
from dotnet-sdk.
I have an idea for how this should work... where do you say would be the best step in the Actor process to plug in the serializer?
from dotnet-sdk.
@behoyh It would be needed both on the client and service side. On the service side it can be plugged in when registering the Actor. On the client side it can be plugged in while creating a ActorProxy. May be we need to introduce a ActorProxyFactory, user will create a ActorPrpoxyFactory which will take a serializer/deserializer and then use that factory to create ActorProxies.
from dotnet-sdk.
Very cool. How does the client create the ActorProxy? It sounds like the client might know too much about the request before it is sent.
I was thinking the request could be mapped to the service on a best effort basis based on how stringent the custom serializer/deserializer supplied by the user was.
Perhaps a warning could be emitted following a failed / incomplete mapping and a separate listener can act on that.
from dotnet-sdk.
Very cool. How does the client create the ActorProxy? It sounds like the client might know too much about the request before it is sent.
I was thinking the request could be mapped to the service on a best effort basis based on how stringent the custom serializer/deserializer supplied by the user was.
Perhaps a warning could be emitted following a failed / incomplete mapping and a separate listener can act on that.
The serializer/deserializer needs to work both for request/response both on client and service side, so we will have to plug them in on both the sides. When you say failed/incomplete warning, is that a compile time or runtime thing?
from dotnet-sdk.
Oh right, I see it now. Would the serializer be required if there was deserializer specified?
Ideally I would have that as a runtime thing in Prometheus format and allow a separate structured logger to pick it up.
from dotnet-sdk.
Oh right, I see it now. Would the serializer be required if there was deserializer specified?
Ideally I would have that as a runtime thing in Prometheus format and allow a separate structured logger to pick it up.
Yes both the things will be required.
The flow would be:
- Serialize arguments of actor method on Client side and send the request.
- On the service side, deserialize the request, get actor method arguments and call method on actor.
- Get the return value(or exception) from actor method, serialize it and send it as response to client.
- On the client side, get the response, deserialize to return type (or exception) and give it to user code.
from dotnet-sdk.
Got it. I will aim at implementing this!
from dotnet-sdk.
Got it. I will aim at implementing this!
Great, thanks, looking forward tot he contribution!
from dotnet-sdk.
Covered by other issues related to serialization
from dotnet-sdk.
Related Issues (20)
- It is not possible to read headers sent from a RabbitMQ message HOT 3
- Unable to use EventHub or Service Bus Dapr Component HOT 1
- Update the holopin.yml to use the sdk badge HOT 2
- Unable to stream using HTTP service invocation HOT 1
- Add option to handle 'dead letters' by sending them to a dead letter queue rather than a dead leter topic HOT 2
- intermittent exceptions from WorkflowLoggingService
- AddDaprSecretStore() fails on Kubernetes HOT 1
- Regarding custom middleware to setup in the pipeline and how to create
- Regarding custom middleware to setup in the pipeline and how to create
- PublishEventAsync Blocking When Delivering Locally? HOT 7
- Cryptography Support Enhancements
- SaveBulkStateAsync does not respect DAPR_API_TOKEN
- Standardize README with shield badges HOT 8
- Dead letter subscription not working with pub sub having consumer ID specified in metadata
- Allow access to injected services during DI registration of DaprClient HOT 1
- Publish message to Kafka topic (KRaft) with Dapr C# HOT 1
- Best way to create a Dapr HttpClient with custom delegating handler? HOT 1
- [Workflow] GRPC connection to workflow runtime doesn't self-heal when app restarts
- Same application doesn't allow to process CloudEvent and raw messages HOT 5
- Azure App Configuration - Feature Flags with Dapr HOT 5
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 dotnet-sdk.