我有一个托管在共享服务器上的 Asp.net 应用程序。
我的缓存对象很少。一个缓存对象包含大约 100 万条记录,包含三列。其余的缓存对象只包含几百条记录。
所有记录都是静态的。这些记录永远不会被更改,并将显示在自动完成的 ajax 调用中。
我正在使用 Sql Server 2008 来存储数据。
如果我设置以下内容:
<compilation debug="false" targetFramework="4.0">
与我将其设置为 TRUE 相比,应用程序的启动频率更高
我的代码:
protected void Application_Start(object sender, EventArgs e)
{
Global.CacheInfo += "Started on" + "----" + DateTime.Now + "<br/>" + Environment.NewLine; ;
RegisterRoutes(RouteTable.Routes);
RouteTable.Routes.RouteExistingFiles = true;
using (BEntity context = new BEntity())
{
// Adding Items to Cache
BLSuggestion.GetAllTitle();
BLSuggestion.GetAllSubCategories();
}
PerformanceCounter pc = new PerformanceCounter("ASP.NET Applications", "Cache % Machine Memory Limit Used", "__TOTAL__", true);
Global.CacheInfo += string.Format("{0:0.00}%", pc.NextValue());
}
如果应用程序启动,该值将达到 95% 左右。稍后会创建更多缓存对象。但即便如此,应用程序也会在大约 1 分钟后重新启动。
对此的任何帮助将不胜感激。