我們的網站有非常奇怪的問題。當我們在當天第一次運行我們的網站(這不是第一次部署後),它運行速度非常慢,需要5分鐘才能加載頁面(任何瀏覽器),即使此時沒有任何主體連接到該網站。但是,一旦我們開始使用它,打開各種頁面,它就像一個魅力運行 - 非常快(不超過4秒)我的意思是說,即使單個或多個用戶連接到它。明確地說,如果網站保持閒置狀態,網站首次表現糟糕,但一旦我們開始使用網站,它就會正常運行。我們使用以下建立的網站:網站性能奇怪的問題
- MVC 4
- 點淨框架4.5
- 數據庫:SQLAnywhere中和SQL Server 2008(我們試圖同時使用數據庫來解決這個問題,但沒有成功)
- 實體框架5.0使用Web API模型,我們正在使用jQuery調用有頁面上的數據並顯示他們
- 託管IIS 7.5
注意:這個網站在幾天前正常工作,但是我們不知道在最近的幾次部署過程中出了什麼問題(在代碼或主機設置等),但它工作非常緩慢。我們已經嘗試了一切,但現在我們需要您的專家指導。
非常感謝提前。
我在的global.asax.cs代碼:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
//ConfigureApi(GlobalConfiguration.Configuration);
GlobalConfiguration.Configuration.Filters.Add(new ModelValidationFilterAttribute());
FilterConfig.RegisterHttpFilters(GlobalConfiguration.Configuration.Filters);
BundleTable.EnableOptimizations = true;
}
protected void Session_Start(object src, EventArgs e)
{
SessionHelper.EnterPriceID = 1;
SessionHelper.CompanyID = 1;
SessionHelper.RoomID = 1;
SessionHelper.UserID = 1;
SessionHelper.RoomName = "Room1";
SessionHelper.UserName = "Admin";
SessionHelper.CompanyResourceFolder = SessionHelper.EnterPriceID.ToString() + "_" + SessionHelper.CompanyID.ToString();
eTurns.DTO.Resources.ResourceHelper.ResourceDirectoryPath = HttpContext.Current.Server.MapPath(@"\Resources\" + SessionHelper.CompanyResourceFolder) + @"\";
eTurns.DTO.Resources.ResourceHelper.ResourceBaseClassPath = eTurns.DTO.Resources.ResourceHelper.ResourceDirectoryPath.Replace(@"\", ".");
System.Globalization.CultureInfo c = new System.Globalization.CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = c;
Thread.CurrentThread.CurrentCulture = c;
Session["CurrentCult"] = c;
}
public void Application_AcquireRequestState(object sender, EventArgs e)
{
if (HttpContext.Current.Session != null && Session["CurrentCult"] != null)
{
string currentCulture = Convert.ToString(Session["CurrentCult"]);
if (String.Compare(currentCulture, System.Threading.Thread.CurrentThread.CurrentCulture.ToString(), StringComparison.OrdinalIgnoreCase) != 0)
{
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
try
{
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(currentCulture);
}
catch
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-us");
}
}
}
}
發佈您的global.asax.cs代碼.... – Rab
@RabNawaz:謝謝你的啓示。我已經添加了代碼供您參考。 –
對我來說,它似乎是你的游泳池有一個非常短的空閒關機,這是需要重新開始的時間,如果需要任何編譯檢查你的應用程序。 – Aristos