Programming is a problem solving activity. You can't break the size limit, so you have to work around it, in no particular order you could:
- Try compressing the data
- Split the data across several cookies, you'll need to define the order you have done this in (aspnet -i's idea)
- Store the data in a backing store (such as a DB) against a key, and send the key in the cookie (ryan's idea)
You'll need to decide which suits your needs: option 1 is only good if the data compresses well and/or is only a little over the limit in a way that guarantees the compressed value will be under the limit. The second option might have the problem that you end up sending lots of data & cookies (depending on the size of the information). The final option introduces an overhead, and you need to worry about setting up the backing store. Both the first and last options reduce/remove the ability of JavaScript to access the cookie data, the middle option would depend on how you split the data up.