do you think about MVC?

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
14 years ago
Hi NC members, I'm really appreciate of your work. As you know, MVC is a good pattern, so will you use MVC in next release?
14 years ago
No. We don't plan to use MVC
14 years ago
I can see the large ViewState in html source code, so if you can compress ViewState the performance will be improved a bit.


        protected override void SavePageStateToPersistenceMedium(object state)
        {
            LosFormatter formatter = new LosFormatter();
            StringWriter writer = new StringWriter();
            //write uncompressed viewstate
            formatter.Serialize(writer, state);
            //get uncompressed viewstate as string
            string viewState = writer.ToString();
            //convert uncompressed viewstate into byte[]
            byte[] data = Convert.FromBase64String(viewState);
            //get compressed data
            byte[] compressedData = ViewStateHelper.Compress(data);
            //convert compressed byte[] into string
            string str = Convert.ToBase64String(compressedData);
            ClientScript.RegisterHiddenField("__MYVIEWSTATE", str);

        }

        protected override object LoadPageStateFromPersistenceMedium()
        {
            //get compressed viewstate
            string viewstate = Request.Form["__MYVIEWSTATE"];
            //convert to byte[]
            byte[] data = Convert.FromBase64String(viewstate);
            //decompress data
            byte[] uncompressedData = ViewStateHelper.Decompress(data);
            //convert byte[] to base64 string
            string str = Convert.ToBase64String(uncompressedData);
            LosFormatter formatter = new LosFormatter();
            return formatter.Deserialize(str);
        }



using System.IO;
using System.IO.Compression;

public class ViewStateHelper
{

    public static byte[] Compress(byte[] data)
    {
        MemoryStream ms = new MemoryStream();
        GZipStream stream = new GZipStream(ms, CompressionMode.Compress);
        stream.Write(data, 0, data.Length);
        stream.Close();
        return ms.ToArray();
    }

    public static byte[] Decompress(byte[] data)
    {
        MemoryStream ms = new MemoryStream();
        ms.Write(data, 0, data.Length);
        ms.Position = 0;
        GZipStream stream = new GZipStream(ms, CompressionMode.Decompress);
        MemoryStream temp = new MemoryStream();
        byte[] buffer = new byte[1024];
        while (true)
        {
            int read = stream.Read(buffer, 0, buffer.Length);
            if (read <= 0)
            {
                break;
            }
            else
            {
                temp.Write(buffer, 0, buffer.Length);
            }
        }
        stream.Close();
        return temp.ToArray();
    }
}

13 years ago
nopCommerce team | a.m. wrote:
No. We don't plan to use MVC


I think they've changed their mind. You can vote for an MVC version here.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.