Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save chgeuer/1149255 to your computer and use it in GitHub Desktop.
Save chgeuer/1149255 to your computer and use it in GitHub Desktop.
How to programatically disable WS-SC session tokens and turn on cookies
public static Binding DisableRequireSecurityContextCancellation(Binding binding)
{
var bindingElements = binding.CreateBindingElements();
var securityBindingElement = bindingElements.OfType<SymmetricSecurityBindingElement>().FirstOrDefault();
if (securityBindingElement == null)
{
throw new NotSupportedException("Cannot locate SymmetricSecurityBindingElement");
}
var protectionTokenParameters = securityBindingElement.ProtectionTokenParameters;
if (protectionTokenParameters == null)
{
throw new NotSupportedException("Cannot locate ProtectionTokenParameters");
}
var secureConversationSecurityTokenParameters = protectionTokenParameters as SecureConversationSecurityTokenParameters;
if (secureConversationSecurityTokenParameters == null)
{
throw new NotSupportedException("Cannot locate SecureConversationSecurityTokenParameters");
}
// this should be equivalent to setting requireSecurityContextCancellation to false.
secureConversationSecurityTokenParameters.RequireCancellation = false;
return new CustomBinding(bindingElements);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment