共有サーバーでホストされている Asp.net アプリケーションがあります。
キャッシュ オブジェクトがほとんどありません。1 つのキャッシュ オブジェクトには、3 つの列を持つ約 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 分後にアプリケーションが再起動されます。
これについての助けは大歓迎です。