Using IdentityModel: Useful Extension Methods for Serializing Claim Sets
As a follow up to my last post - the following extension methods make it easy to manually serialize claim sets: public static XElement Serialize( this ClaimSet set, IEnumerable<Type> knownTypes) { DataContractSerializer dcs = new DataContractSerializer( set.GetType(), knownTypes, int.MaxValue, false, true, null); MemoryStream ms = new MemoryStream(); dcs.WriteObject(ms, set); ms.Seek(0, SeekOrigin.Begin); return XElement.Load(new XmlTextReader(ms)); } public static XElement Serialize( this IEnumerable<ClaimSet> claimSets, string rootName, string rootNamespace, IEnumerable<Type> knownTypes) { XNamespace ns = XNamespace.Get(rootNamespace);
return new XElement(ns + rootName, from cs in claimSets select cs.Serialize(knownTypes)); } IdentityModel
Wednesday, July 02, 2008 9:13:54 PM UTC
|
|