-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Message Type serialization without assembly version #65
Comments
In your example string
do we really need the namespace of the generic type arguments? Since their names already include the namespace I guess the following should be enough
|
Well @Originalutter -- the generic argument could come from another assembly. So, in order to be sure that we can create the type, we need the Assembly name to. |
I see @pardahlman, is this also possible for the outer type? In this case that is, could GenericResponse come from another assembly and if so, how would that be presented? |
That is correct, so each type should have For the example with GenericResponse, it Should be something like
|
So that we are compatible with RawRabbit > 1.8.12
And by doing so, no one uses the operation base anymore, so it's gone baby, gone.
@Originalutter I've been rewriting large portions of |
This issue will be part of |
Generic types like
GenericType<TFirst, TSecond>
have a fully qualified name likeThe type name is sent in the basic properties of the message, and then used to create a
Type
instance that will be used when deserializing the message. The problem here is that Version, Culture and PublicKeyToken are present. If the version is wrong, we might not be able to create the type instance (even though the class itself is identical between versions). However, it is enough to have type name and assembly name to create the type instance. That is, this string (should) be enough:In
BasicPropertiesProvider.cs
, we should have a strategy to create type such thatGenericMessage<GenericArgument<NestedGeneric<NestedAgain>>>
should contain no version, culture or public key tokenThe text was updated successfully, but these errors were encountered: