This is a bit of a random thought, but maybe not: reverse the order of the elements in your config so extensions come before behaviors.
-Oisin
This is a bit of a random thought, but maybe not: reverse the order of the elements in your config so extensions come before behaviors.
-Oisin
It turns out that I didn't get the assembly qualified name EXACTLY right. The assembly qualified name was correct enough for the .NET framework to load, but then the WCF framework performs a naive character-by-character comparison when matching the behavior configurations.
To finally get the exact type name, I wrote code to create an instance of ClientLoggingEndpointBehaviourExtension object, and wrote the AssemblyQualifiedName property to a local variable, which I then copy-and-pasted from the debug window into the .config file.
That I had to do all this is considered to be a bug in the WCF framework. (See this link) Apparently it's fixed in .NET 4.0.
Also see this article.