首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

,winform里面没有关问题,web里面内存泄露了。

2014-01-12 
求助,winform里面没问题,web里面内存泄露了。。private ListTrack GetTrackList(string trackListUrl){Lis

求助,winform里面没问题,web里面内存泄露了。。


private List<Track> GetTrackList(string trackListUrl)
        {
            List<track> list = new List<track>();
            FileStream file = new FileStream(trackListUrl, FileMode.Open, FileAccess.ReadWrite);
            int b = Marshal.SizeOf(typeof(s_NV_FILEHEAD));
            byte[] buffer = new byte[b];
            file.Read(buffer, 0, b);
            s_NV_FILEHEAD gpsHead = (s_NV_FILEHEAD)RawDeserialize(buffer, typeof(s_NV_FILEHEAD));
            byte[] bytData = new byte[Marshal.SizeOf(typeof(s_NV_All))];
            List<s_NV_All> s = new List<s_NV_All>();
            while (file.Read(bytData, 0, bytData.Length) > 0)
            {
                s_NV_GPS_All all = (s_NV_All)RawDeserialize(bytData, typeof(s_NV_All));
                Track a = new Track
                {                   
                    Time = all.szTime
                };
                list.Add(a);
            }
            file.Close();
            return list;
        }
      
        private object RawDeserialize(byte[] rawdatas, Type anytype)
        {
            int rawsize = Marshal.SizeOf(anytype);
            if (rawsize > rawdatas.Length)
                return null;
            IntPtr buffer = Marshal.AllocHGlobal(rawsize);
            Marshal.Copy(rawdatas, 0, buffer, rawsize);
            object retobj = Marshal.PtrToStructure(buffer, anytype);
            Marshal.FreeHGlobal(buffer);
            return retobj;
        }

求解 !!
[解决办法]
这里没有大神,只有帮你分析问题的普通人,信息不给全是没法分析问题的。

热点排行