我们的网站有非常奇怪的问题。当我们在当天第一次运行我们的网站(这不是第一次部署后),它运行速度非常慢,需要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