با عرض سلام
دوستان می خوام یک کلاس استاتیک ایجاد کنم که یک سری متد استاتیک داشته باشه و توی کد های C# یا توی Razor اون تابع و کلاس هاش رو صدا بزنم ، تا اینجا مشکلی ندارم ، من اگه بخوام بعد از هر بار فراخونی این کلاس و متد هاش خودشون بعد از انجام کار Dispose بشن باید چکار کنم ؟
دوستان اگه امکانش هست راهنمایی بفرمایید ممنون میشم
شما میتونید object هایی که میسازید را بعد از اتمام کار Disposeکنید
یا برای ساخت نمونه جدید از usingاستفاده کنید
سلام
سوالی در همین حوزه داشتم
من با کلیک یک Button در فرم اصلی فرم دیگری که زمان بسته شدنش GC.Collect(); گذاشتم رو باز میکنم.
بعد بسته شدن فرم دوم میزان استفاده از رم به حالت اول(قبل باز شدن فرم دوم) بر نمیگرده؟
مشکل کجاست؟
برای همه Object ها متد dispose هست باید فراخوانی کنید
این یکی از توابعی هست که استفاده میکنم Dispose برای ابجکت ها وجود داره الان تو این قسمت bt و result هم بعدش ازاد میشن یا باید برای ازادشدنش کار دیگه ای انجام بشه؟ public Stream ExtractMp3FileFromZip(string path, string password) { Stream result = null; using (MemoryStream Memory = new MemoryStream()) { try { using (ZipFile zip = ZipFile.Read(path)) { zip.Password = password; zip["help.mp3"].Extract(Memory); } Memory.Seek(0, SeekOrigin.Begin); byte[] bt = Memory.GetBuffer(); result = new MemoryStream(bt); } catch (Exception ex) { MessageBox.Show(ex.Message); } } return result; }
شما از using استفاده کردید و این بدین معناست که اتوماتیک Dispose میشه
مشکل دیگه در کدهاتون ندیدم و همه چی درست به نظر میرسه
تو این برنامه یک فایل mp3 از درون فایل زیپ برای پخش extract میشه
بعد بستن فرم حافظه بصورت کامل بر نمیگرده
برای استفاده از مقدار برگشتی این تابع از این دستور استفاده کردم
reader = new Mp3FileReader(ExtractMp3FileFromZip(Path, Pass))
که بدلیل اینکه میخوام روی timer1_Tick حرکت روی trackBar رو داشته باشم نمیتونم از using استفاده کنم
اما موقع بسته شدن فرم dispose گذاشتم براش
بعد از Dispose باید منابع را آزاد کنه
مطمئن هستید میزان حافظه اشغالی مربوط به همین عملیاد هست ؟
کار دیگه ای انجام نمیشه
در فرم دیگری فقط برای ویندوز سون این مشکل رو دارم؟
مشکل چیه و چرا فقط سون؟
ممنونم
داخل Detail باید جزئیات خطا وجود داشته باشه اگر نبود Nlog را نصب کنید تا بتونید به جزئیات بیشتری از خطا درسترسی پیدا کنید
امکانش هست لطف کنید یه پیشنهاد برای پخش فایل صوتی داخل فایل زیپ به من بدید
soundplayer
Naudio.wave
.....
ترجیحا میخوام خودم trackbar ,... رو بزارم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)