我正在考虑在我的asp.net(4.0 C#)Web应用程序中使用子“Web应用程序”(使用相同的应用程序池)。例如。对于博客应用程序,我可以将事情分开。
注意:我正在考虑每个网站有10个子应用程序(确实是Web应用程序),并且想知道这是否会导致资源大量消耗。
谢谢, 丹。
答案 0 :(得分:0)
这取决于这些Web应用程序的行为方式,耗用的内存量以及达到的流量。
每个应用程序都将驻留在自己的应用程序域中。闲置的应用程序可能只消耗几Kb的内存。但是,如果它正在缓存数据或分配大量内存,这可能会产生气球。我认为您需要在不同的情况下分析这些应用程序,以便能够准确预测这些指标。
关于继承web.config设置,只需向每个应用程序添加web.config以提供特定于应用程序的设置。您需要注意您的根应用程序可能使用的自定义HttpModules
和HttpHandlers
之类的内容,但您的子应用程序不会。您可能需要在适当的位置添加<remove>
或<clear>
标记,以防止ASP.NET尝试在您的应用程序中加载这些不存在的处理程序。
回答评论中的问题:
所以基本上一个子应用程序将消耗尽可能多的资源。应用程序+应用程序域在使用时是否具有最低资源需求?
我无法给出应用程序+应用程序域开销的最小足迹的精确数字,但它可能只有4-5kb,具体取决于应用程序的大小和它所做的任何前期内存分配。
此外,如果我在父web.config
中有连接字符串,那么是否会在子应用中继承?
默认情况下,将继承连接字符串。如果您使用的是ASP.NET 4.0,并且父级web.config
的整个部分不需要继承,则可以使用<location>
标记以及inheritInChildApplications
属性: