sajadzare
شنبه 06 مهر 1392, 16:59 عصر
سلام
من یه برنامه اتوماسیون تحت وب نوشتم که با مرورگر اکسپلورر باز میشه. نحوه کار این طوره که ابتدا صفحه اصلی رو در مرورگر باز کرده و لاگین میکنم و این صفحه باید در طول عملیات اتوماسیون باز باشه و بسته نشه چون از سیستم خارج میشه. و نرم افزار من میاد و در یک حلقه مثلا 100 تایی یه مرورگر جدید new IE باز میکنه و عملیات رو انجام میده و مرورگر رو میبنده. با دستور browser.close و این کار به تعداد انتهای حلقه تکرار میشه. و من در taskmanager می بینم که با اینکه مرورگر بسته میشه ولی حافظه مصرفی خالی نمیشه و در تکرارهای بعدی میزان بیشتری به iexplore.exe تخصیص میده . این مشکل زمانی حاد میشه که تعداد تکرارها زیاد باشه و حافظه سرریز میکنه و دیگه مرورگر چیزی رو باز نمیکنه. من با دستور dispose هم نتونستم حافظه مصرفی رو خالی کنم.
یه راه هم به ذهنم رسید این بود که پروسس باز شده رو kill کنم که متاسفانه مرورگر اصلی که لاگین در اون انجام دادم رو میبنده . تصمیم داشتم که وقتی مرورگر جدید ایجاد شد process id ش رو ذخیره کنم . و بر اساس اون بیام و process iexplore رو ببندم که مرورگر اصلی بسته نشه ولی احساس میکنم راههای بهتری برای اینکار وجود داره و از شما میخوام اگه روش بهتری رو برای این مشکل سراغ دارین بهم کمک کنین.
ممنونم
من یه برنامه اتوماسیون تحت وب نوشتم که با مرورگر اکسپلورر باز میشه. نحوه کار این طوره که ابتدا صفحه اصلی رو در مرورگر باز کرده و لاگین میکنم و این صفحه باید در طول عملیات اتوماسیون باز باشه و بسته نشه چون از سیستم خارج میشه. و نرم افزار من میاد و در یک حلقه مثلا 100 تایی یه مرورگر جدید new IE باز میکنه و عملیات رو انجام میده و مرورگر رو میبنده. با دستور browser.close و این کار به تعداد انتهای حلقه تکرار میشه. و من در taskmanager می بینم که با اینکه مرورگر بسته میشه ولی حافظه مصرفی خالی نمیشه و در تکرارهای بعدی میزان بیشتری به iexplore.exe تخصیص میده . این مشکل زمانی حاد میشه که تعداد تکرارها زیاد باشه و حافظه سرریز میکنه و دیگه مرورگر چیزی رو باز نمیکنه. من با دستور dispose هم نتونستم حافظه مصرفی رو خالی کنم.
یه راه هم به ذهنم رسید این بود که پروسس باز شده رو kill کنم که متاسفانه مرورگر اصلی که لاگین در اون انجام دادم رو میبنده . تصمیم داشتم که وقتی مرورگر جدید ایجاد شد process id ش رو ذخیره کنم . و بر اساس اون بیام و process iexplore رو ببندم که مرورگر اصلی بسته نشه ولی احساس میکنم راههای بهتری برای اینکار وجود داره و از شما میخوام اگه روش بهتری رو برای این مشکل سراغ دارین بهم کمک کنین.
ممنونم