我有一个ASP.NET网络应用程序,它使用在64位Windows 7计算机上运行的5GB内存,8GB内存没有任何问题。
但是,当我在同一台机器上创建一个新的C#控制台应用程序并重用Web应用程序使用的相同组件时,控制台应用程序的内存大约耗尽1.6GB(通过查看System.Environment.WorkingSet和System。 Diagnostics.Process.GetCurrentProcess()。WorkingSet64)。还剩下很多物理内存。它在2台不同的机器上进行重新编程
Web应用和控制台应用都使用ThreadPool.QueueUserWorkItem来启动后台线程来加载大量数据。异常发生在后台线程。
我想知道控制台应用程序或ThreadPool上是否有任何默认内存限制设置。我可以查看哪些调试变量来查看此限制?
答案 0 :(得分:2)
这很简单。默认情况下,我的Visual Studio 2010创建x86目标。将其更改为x64可以解决问题。