IIS、应用程序主机和可扩展应用程序体系结构
我通过 Jeffery Richter 的书《如何构建可扩展的应用程序架构》读到过。通过 C# 进行 CLR >。我知道 IIS 是某种“主机应用程序”,可以托管我们的 Web 应用程序。
我有一个模糊的印象,以下概念之间一定存在某种关键关系:
主机应用程序
应用程序域
可扩展的应用程序架构
有人能谈谈上述概念在 IIS 背景下的关系吗?
I have read about how to build extensible application architecture through Jeffery Richter's book < CLR via C# >. And I know that IIS is some kind of a "host application" which can host our web applications.
I have a vague impression that there's must be some key relationship between the following concepts:
Host Application
Application Domain
Extensible application arthictecture
Could someone talk about the relationship of the above concepts in the context of IIS?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
希望这能在一定程度上解释:
主机应用程序
IIS 是一个主机应用程序,或者更确切地说,IIS 应用程序池 (w3wp.exe) 是一个主机应用程序。它只是一个常规的 Windows 进程。
应用域
在主机应用程序内部有一个应用程序域的概念。主机应用程序可以包含一个或多个应用程序域。应用程序域可以被视为在主机进程内提供 .NET 应用程序隔离的“软”进程。例如,如果您有多个网站都使用相同的应用程序池,那么每个 Web 应用程序都将拥有自己的应用程序域。应用程序域可以独立于其他应用程序域进行加载和卸载,就像 Windows 进程一样。
观看 Scott Forsyth 的简短培训视频:
<块引用>
AppDomain - 它是什么以及为什么它很重要
可扩展应用程序架构
可扩展应用程序架构是一种提供挂钩或集成点的架构,以便您可以以某种方式扩展应用程序。 IIS7 就是这样的应用程序之一。 IIS7 可以通过多种方式进行扩展,例如,以下是 IIS7 已扩展到核心安装之外的多种方式中的一些:
<块引用>
http://www.iis.net/download
这是了解有关如何扩展 IIS7 的更多信息的良好起点:
<块引用>
扩展 IIS 7.0
Hopefully this will go some way to explaining:
Host Application
IIS is a host application, or rather an IIS Application Pool (w3wp.exe) is a host application. It's just a regular Windows Process.
Application Domain
Inside a the host application there is the concept of Application Domains. A host application can contain one or more Application Domains. Application Domains can be thought of as "soft" processes providing .NET application isolation within a host process. For example if you have multiple websites all using the same Application Pool then each web application will have it's own Application Domain. Application Domains can be loaded and unloaded independently of others much like Windows processes.
Take a look at Scott Forsyth's short training video:
Extensible Application Architecture
An Extensible Application Architecture is one that provides hook or integration points so that you can extend the application in some way. IIS7 is one such application. IIS7 can be extended in many ways, for example, these are some of the many ways that IIS7 has been extended beyond the core installation:
Here's a good starting point for learning more about how to extend IIS7: