Asp.net mvc 3 ASP.NET MVC应用程序在发布后抛出OutOfMemoryException

Asp.net mvc 3 ASP.NET MVC应用程序在发布后抛出OutOfMemoryException,asp.net-mvc-3,memory-management,out-of-memory,Asp.net Mvc 3,Memory Management,Out Of Memory,因此,我有一个ASP.NETMVC3应用程序,我正在工作。在四台独立机器上的开发进展非常顺利,没有任何问题 除了第二次发布到live server(即使是非更改,如动态更新Web.Config进行重新配置)之外,我们获得了一个OutOfMemoryException 对于本地承载的副本,应用程序的平均内存使用量约为50 MB。在发布到本地IIS服务器时,我检查了性能计数器,没有发现内存使用量出现异常峰值 无论我们做了什么更改,每当我们点击Publish时,它总是不断发生。我们尝试联系网络主机,但

因此,我有一个ASP.NETMVC3应用程序,我正在工作。在四台独立机器上的开发进展非常顺利,没有任何问题

除了第二次发布到live server(即使是非更改,如动态更新Web.Config进行重新配置)之外,我们获得了一个
OutOfMemoryException

对于本地承载的副本,应用程序的平均内存使用量约为50 MB。在发布到本地IIS服务器时,我检查了性能计数器,没有发现内存使用量出现异常峰值

无论我们做了什么更改,每当我们点击Publish时,它总是不断发生。我们尝试联系网络主机,但他们痛苦地说,他们无法帮助我们解决这类错误

最糟糕的是,如果我们将一个.cshtml文件更改为具有额外字符,则会发生此异常

什么可能导致OutOfMemoryException,为什么即使在不需要服务器端重新编译的发布上也会发生这种情况?


背景资料:

  • NET 4.0下的ASP.NET MVC3
  • 实体框架4.3
  • 尼尼特
  • MvcSiteMapProvider
  • 艾玛
  • 来自AccuWebHosting的共享主机(非常低的预算:/)

旁注:这些问题已经发生了大约3周了,甚至在我们将ELMAH和McSiteMapProvider添加到配置之前

我敢肯定,托管提供商允许整个帐户的最大内存为50-100MB,而afaik EF是一个内存猛兽。我建议至少在测试时,用类似peta poco或dapper.net的东西来代替它。我希望您使用了存储库模式。@MikeSW:我们确实使用了存储库模式。最大的问题是我们很快就要上线了。如果我们的一个帐户只有50-100MB的可用内存,那么我就要把它搬走。让我的业务合作伙伴相信,我们需要转移到至少具有保证RAM数量的VPS。另一个您可能希望研究的托管选项是AppHarbor。您可以使用1个工作线程免费托管您的应用程序。我从他们身上看到了很多成功。@ShaneCourtrille:你知道AppHarbor的内存/磁盘空间/带宽的限制吗?