public void SerializeEmptyTest() { List <FlashMessageModel> messages = new List <FlashMessageModel>(); var data = FlashMessage.Serialize(messages); messages = FlashMessage.Deserialize(data); Assert.Equal(0, messages.Count); }
public void Queue(IList <FlashMessageModel> messages) { // Serialize the messages. var data = FlashMessage.Serialize(messages); // Set the data without doing any further securing or transformations. var context = new HttpContextWrapper(HttpContext.Current); context.Session[KeyName] = data; }
public void Queue(IList <FlashMessageModel> messages) { // Serialize and digitally sign the data. // Encoding/signing is done using the configured encryption and key in the machineKey element. // TODO: Replace with MachineKey.Protect for .Net Framework >= 4.5 var serializedMessages = FlashMessage.Serialize(messages); var data = MachineKey.Encode(serializedMessages, MachineKeyProtection.All); // Serialize messages and enforce cookie size limit. if (data.Length > CookieSizeLimit && CookieSizeLimit > 0) { throw new InvalidOperationException("The flash messages cookie size limit exceeded the limit value. Queue less messages."); } // Set the cookie. var context = new HttpContextWrapper(HttpContext.Current); var cookie = new HttpCookie(CookieName, data); context.Response.SetCookie(cookie); }
public void SerializeSingleTest() { List <FlashMessageModel> messages = new List <FlashMessageModel>(); FlashMessageModel message = new FlashMessageModel { IsHtml = true, Message = "<p>test content</p> üñï€ode", Title = "Title", Type = FlashMessageType.Custom }; // Serialize and deserialize. messages.Add(message); var data = FlashMessage.Serialize(messages); messages = FlashMessage.Deserialize(data); var deserialized = messages[0]; // Compare the results. Assert.Equal(message.Type, deserialized.Type); Assert.Equal(message.Title, deserialized.Title); Assert.Equal(message.Message, deserialized.Message); Assert.Equal(message.IsHtml, message.IsHtml); }