وبلاگ شخصی حامد شیربندی

حامد شیربندی

توسعه دهنده نرم افزار

تفاوت بین AppPool و AppDomain

AppPool یا همان Application Pool و AppDomain یا همان Application Domain دو مفهوم در IIS و ASP هستند. در ادامه به بررسی و تفاوت های آنها می پردازیم :

  • Application Domain یک مفهوم در ASP است و فقط برای برنامه های نوشته شده در بستر ASP در دسترس است اما Application Pool یک مفهوم در IIS است که برای تمام برنامه های ASP و غیر ASP در دسترس است.

  • در برنامه های ASP کنترل چندان زیادی روی AppDomain نداریم اما از طریق IIS کنترل کافی برروی AppPool ها داریم.

  • برای بازسازی (recreate) یک AppDomain کافی است تغییری در فایلهای آن داشته باشیم مثلا فایل web.config برنامه را ویرایش کرده و ذخیره کنیم. این کار باعث بازسازی AppDomain می شود اما برای بازسازی AppPool کافی است تا آن را در IIS به راحتی recycle کنیم.
     
     برای درک بهتر موضوع به شکل زیر دقت کنید که چگونه برنامه های A و B که از نوع ASP هستند در کنار برنامه C که یک برنامه کنسول است در IIS هاست شده اند.

 
 

در اینجا برنامه A به تنهایی داخل یک AppPool قرار گرفته و البته AppDomain مخصوص خودش را دارد. برنامه B نیز AppDomain مخصوص خودش را دارد اما در کنار برنامه C که یک برنامه کنسول است در یک AppPool قرار گرفته است و همه ی ای برنامه ها داخل IIS هاست شده اند. نکته ای که اینجا وجود دارد این است که برنامه A هم میتوانست داخل همان AppPool مربوط به B و C قرار بگیرد.

 


نوشته شده توسط حامد شیربندی

اگر در مورد این نوشته سوال یا ابهامی وجود دارد میتوانید به ایمیل من ارسال کنید. البته در این مورد باید کمی صبور باشید. در آینده بخش نظرات اضافه خواهد شد.