Geeks With Blogs
El Grego BizTalk blog
I've just found out the hard way that GAC'ed publisher policy assemblies do not chain. When you have a policy.1.0, redirecting the binding of assembly v1.0.0.0 to assembly v1.1.0.0 and also having a policy.1.1, for redirecting the binding of assembly 1.1 to assembly 1.2, this doesn't result in a binding to the assembly 1.2 when your app requests 1.0 (but rather to 1.1). If you want this kind of binding-behavior I guess you will have to use publisher policy versioning.
Why do I tell all this? Well, I've never read anything about this before so I thought it would be nice to mention here.
I also want to thank Alan Shi, who confirmed and explained this binding behavior to me. For more excellent information regarding the GAC and Fusion you should definitely visit his blog here.
Posted on Tuesday, November 23, 2004 11:14 AM BizTalk - EAI - B2B | Back to top

Comments on this post: About publisher policy assembly chaining

# re: About publisher policy assembly chaining
Requesting Gravatar...
I'm not 100% sure on this, but I think the way it was assumed to be is that the later policy should not specify that it redirects 1.1 to 1.2, but instead that it redirects 1.0-1.1.??? to 1.2. Because at the time the 1.2 version is released at least as much information is available, and a final decision can be made about whether 1.0 should come forward to 1.2 or not. That is how I think it works, but I would like to find out for sure. I plan on running my own experiment to verify the current behavior as well.
Left by keithm on Feb 17, 2005 8:00 PM

# re: About publisher policy assembly chaining
Requesting Gravatar...
That was exactly my point: that they don't chain so you have to overload the original redirecting policy assembly by a new one.
When having already a policy assembly redirecting from 1.0 to 1.1 with it's own version number 1.0, you have to deploy a newer policy assembly redirecting 1.0 to 1.2 with own version number 1.1. This way the newer and highest version-number version will be automatically active, and the former will be discarded. So you'll have 2 assemblies in the GAC both named policy.1.0 but with different version numbers defining different redirections. That's also what you mean, I think, in your post. But if you just throw in an extra policy redirecting a range of version-numbers it won't be automatically be picked up. The newer policy assembly's own version number has to be higher than the original...
Left by Gregory on Feb 17, 2005 8:45 PM

# re: About publisher policy assembly chaining
Requesting Gravatar...
Hey Keith,
The above is what 'I guess' anyway and 'to be tested' of-course. If the runtime DOES automatically prefer a range-type redirection over a simple when having multiple and same version-number policy assemblies (which I doubt) then please share your test results with us.
Left by Gregory on Feb 17, 2005 8:48 PM

Your comment:
 (will show your gravatar)

Copyright © Gregory Van de Wiele | Powered by: