public override void Enter(AutoUpdateMgr target)
        {
            string oldVer = target.LocalResVersion;
            string newVer = target.CurrServeResrVersion;

            var updateFile = target.LocalUpdateFile;

            m_ZipFileName = ZipTools.GetZipFileName(oldVer, newVer);

            long read = 0;
            AutoUpdateCfgItem item;

            m_ZipFileName = string.Format("{0}.zip", m_ZipFileName);
            bool isSaveUpdateFile = false;

            if (updateFile.FindItem(m_ZipFileName, out item))
            {
                if (item.isDone)
                {
                    ToNextState();
                    return;
                }

                read = item.readBytes;
            }
            else
            {
                item = new AutoUpdateCfgItem();
                item.fileContentMd5 = m_ZipFileName;
                item.isDone         = false;
                item.readBytes      = 0;
                updateFile.AddOrSet(item);
                isSaveUpdateFile = true;
            }

            isSaveUpdateFile = isSaveUpdateFile || updateFile.RemoveDowningZipFiles(m_ZipFileName);
            if (isSaveUpdateFile)
            {
                updateFile.SaveToLastFile();
            }

            string resAddr = target.ResServerAddr;
            bool   isHttps = resAddr.StartsWith("https://", StringComparison.CurrentCultureIgnoreCase);
            string url;

            if (isHttps)
            {
                url = string.Format("{0}/{1}", resAddr, m_ZipFileName);
            }
            else
            {
                long tt = DateTime.UtcNow.Ticks;
                url = string.Format("{0}/{1}?time={2}", resAddr, m_ZipFileName, tt.ToString());
            }
            target.CreateHttpFile(url, read, OnHttpRead, OnHttpError);
        }
Beispiel #2
0
        public override void Enter(AutoUpdateMgr target)
        {
            var updateFile = target.LocalUpdateFile;

            m_ZipFileName = target.CurrUpdateZipFileMd5;

            long read = 0;
            AutoUpdateCfgItem item;
            bool isSaveUpdateFile = false;

            if (updateFile.FindItem(m_ZipFileName, out item))
            {
                if (item.isDone)
                {
                    ToUnZipRes();
                    return;
                }

                read = item.readBytes;
            }
            else
            {
                item = new AutoUpdateCfgItem();
                item.fileContentMd5 = m_ZipFileName;
                item.isDone         = false;
                item.readBytes      = 0;
                updateFile.AddOrSet(item);
                isSaveUpdateFile = true;
            }

            isSaveUpdateFile = isSaveUpdateFile || updateFile.RemoveDowningZipFiles(m_ZipFileName);
            if (isSaveUpdateFile)
            {
                updateFile.SaveToLastFile();
            }

            string resAddr = target.ResServerAddr;
            // m_ZipFileName是内容MD5所以不用加时间戳
            string url = string.Format("{0}/{1}", resAddr, m_ZipFileName);

            target.CreateHttpFile(url, read, OnHttpRead, OnHttpError);
        }