Correlation Internals

#12733

Sometimes you think you understand this stuff, then you realize you really don’t!

Given that a Correlation Type is a C# class, and a Correlation Set must be a C# object, what does \”initialize correlation\” really do? Does it basically instantiate the object? And that is why you can’t do it more than once?

Then what does following do – just change the value of the properties in the correlation set based on the current value of the promoted fields?

What can cause this message for a non-activation receive?
1. You must specify at least one already-initialized correlation for a non-activation receive that is on a non-selfcorrelating port.

Why can’t you initialize correlation in a loop?
Is it like I said above, you would be reinstantiating the same object over and over? Apparently, if your loop is in a scope, you can do it.

Is there anyway to initialize correlation besides doing a send or receive?
Could you do it in an expression or message assignment – I might try this later tonight?

When would you select multiple correlation sets when you send a message?

What if you have 4 sends in different branches of an if statement.
You want them to all correlate on the same property field.
It looks like we either have to create four correlation sets so each one can be initialized in each branch, or we have to somehow initialize earlier, then use following in each branch.

Sorry, this is the brain dump of what I have been thinking about today.

Neal Walters
http://Biztalk-Training.com – Will probably be doing a correlation video in the near future! I’ve got to get this nailed first.