ASP.NET VS2010子应用程序资源成本

时间:2010-10-05 09:42:52

标签: asp.net iis-7 resources

我正在考虑在我的asp.net(4.0 C#)Web应用程序中使用子“Web应用程序”(使用相同的应用程序池)。例如。对于博客应用程序,我可以将事情分开。

  1. 子应用程序服务器需要多少额外资源?或者更确切地说,Web应用程序需要多少资源(不包括应用程序池)?
  2. 如何从父Web应用程序web.config继承。
  3. 注意:我正在考虑每个网站有10个子应用程序(确实是Web应用程序),并且想知道这是否会导致资源大量消耗。

    谢谢, 丹。

1 个答案:

答案 0 :(得分:0)

这取决于这些Web应用程序的行为方式,耗用的内存量以及达到的流量。

每个应用程序都将驻留在自己的应用程序域中。闲置的应用程序可能只消耗几Kb的内存。但是,如果它正在缓存数据或分配大量内存,这可能会产生气球。我认为您需要在不同的情况下分析这些应用程序,以便能够准确预测这些指标。

关于继承web.config设置,只需向每个应用程序添加web.config以提供特定于应用程序的设置。您需要注意您的根应用程序可能使用的自定义HttpModulesHttpHandlers之类的内容,但您的子应用程序不会。您可能需要在适当的位置添加<remove><clear>标记,以防止ASP.NET尝试在您的应用程序中加载这些不存在的处理程序。

回答评论中的问题:

所以基本上一个子应用程序将消耗尽可能多的资源。应用程序+应用程序域在使用时是否具有最低资源需求?

我无法给出应用程序+应用程序域开销的最小足迹的精确数字,但它可能只有4-5kb,具体取决于应用程序的大小和它所做的任何前期内存分配。

此外,如果我在父web.config中有连接字符串,那么是否会在子应用中继承?

默认情况下,将继承连接字符串。如果您使用的是ASP.NET 4.0,并且父级web.config的整个部分不需要继承,则可以使用<location>标记以及inheritInChildApplications属性:

  

location Element (ASP.NET Settings Schema)

     

How to stop inheritance of Web.Config files