一个应用程序域和一个应用程序池之间的区别? [英] Difference between an application domain and an application pool?

查看:508
本文介绍了一个应用程序域和一个应用程序池之间的区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是应用领域和应用程序池之间的区别?

What is difference between application domain and application pool?

我已经阅读了有关这两个术语的文章。但仍无法获得正确的理解他们。

I have read many articles regarding these two terminology. but still unable to get proper understanding about them.

请用简单的描述阐述了。

Please elaborate it with simple description.

感谢

推荐答案

IIS进程W3WP;
在IIS中的每个应用程序池使用它自己的过程;
AppPool1使用过程3784,AppPool2使用过程5044
在Asp.net不同的应用程序会使用不同的
AppDomain中;

IIS process is w3wp; Every application pool in IIS use it's own process; AppPool1 uses process 3784, AppPool2 uses process 5044 Different applications in Asp.net will use different AppDomain;

AppTest1和AppTest2可在不同的应用程序域,但在
相同的处理。

AppTest1 and AppTest2 are in different AppDomain, but in the same process.

什么是点使用它们?

应用程序池和AppDomain中,他们都可以提供
隔离,而是用不同的方法。应用程序池
使用过程中找出是哪个工程应用
没有.NET。但AppDomain中是另一种分离方法
.NET提供。
如果您的服务器主机成千上万的网站,你不会使用
数以千计的应用程序池来隔离的网站,
只是因为,过多的进程运行将杀死操作系统。
不过,有时你需要的应用程序池。其中一个
应用程序池的优点是可以配置的
身份应用程序池。你也需要更灵活
选择回收应用程序池。至少现在,
IIS没有提供明确的选项,以回收应用程序域。

Application pool and AppDomain , both of them can provide isolations, but use different approaches. Application pool use the process to isolate the applications which works without .NET. But AppDomain is another isolation methods provided by .NET. If your server host thousands of web sites, you wont use thousands of the application pool to isolate the web sites, just because, too many processes running will kill the os. However, sometime you need application pool. One of the advantages for application pool is that you can config the identity for application pool. Also you have more flexible options to recycle the application pool. At least right now, IIS didn't provide explicit options to recycle the appdomain.

应用程序池是一组的一个或多个网址
不同的Web应用程序和网站。任何Web目录
或虚拟目录可被分配给一个应用程序池。
一个应用程序池中的每个应用程序共享相同的
工作进程可执行文件,程序w3wp.exe,该工作进程
服务中的一个应用程序池是从工人分离
过程服务的其他[如启动MS Word和
打开许多word文档。每个单独的工作进程
提供了一种方法边界,从而当一个应用程序是
分配给一个应用程序池,在其他问题
应用程序池不影响应用程序。这个
确保如果一个工作进程失败时,它不会影响
在其他应用程序池中运行的应用程序。 [即]
对于例如,如果Word文档是有问题的,它不应该
逻辑上影响你的Excel工作表是不是。
应用领域是一个机构(类似于在处理
一个操作系统)用于分离执行的软件
彼此的应用程序,以便它们不会影响
彼此。 [即] MS WORD的开放不会影响MS EXCEL
您可以打开和关闭,因为这两个应用程序的任何时间
还有就是应用程序之间不存在依赖关系。每
应用领域有其自己的虚拟地址空间,
作用域的资源使用该应用程序域
地址空间。

An application pool is a group of one or more URLs of different Web applications and Web sites. Any Web directory or virtual directory can be assigned to an application pool. Every application within an application pool shares the same worker process executable, W3wp.exe, the worker process that services one application pool is separated from the worker process that services another [Like starting MS Word and opening many word documents]. Each separate worker process provides a process boundary so that when an application is assigned to one application pool, problems in other application pools do not affect the application. This ensures that if a worker process fails, it does not affect the applications running in other application pools. [i.e] for Eg., If word document is having issue it should not logically affect your Excel Sheet isn’t it. application domain is a mechanism (similar to a process in an operating system) used to isolate executed software applications from one another so that they do not affect each other. [i.e] opening of MS WORD doesn’t affect MS EXCEL you can open and close both the applications any time since there is no dependency between the applications. Each application domain has its own virtual address space which scopes the resources for the application domain using that address space.

感谢链接

这篇关于一个应用程序域和一个应用程序池之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆