Zajmuję się tworzeniem strony internetowej na platformie Azure, z mvc5. Używam routingu atrybutów, z trasami i prefiksem trasy na kontrolerach. Dzwonię za pomocą helpera action.link. Nie nazwałem swoich tras.Słaba wydajność i powolna strona internetowa Dzięki MVC 5 Atrybucja atrybutów
zrobiłem następujące w moim route.config:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.LowercaseUrls = true;
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Moi kontrolery jak:
[OutputCache(Duration = 600, Location = System.Web.UI.OutputCacheLocation.Client)]
[RoutePrefix("istanbul/kadikoy")]
[Route("{action=index}")]
public class KadikoyController : Controller
{
public ActionResult Index()
{
return View();
}
[Route("kadikoy-tarihi")]
public ActionResult KadikoyTarihi()
mam bardzo słabe wyniki, jak czas odpowiedzi serwera, czyli 9.6s
Jeśli skomentuję kody tras atrybutów, z domyślnym routingiem, mam czas reakcji serwera 2.1 s.
Dziękuję za odpowiedzi.
Czy słaba wydajność występuje tylko podczas pierwszego żądania do IIS? Może to być spowodowane przez usługi IIS tworzące początkowy proces roboczy. – alex
Widzę to samo, a konkretnie to wezwanie do odwzorowania przypisanych tras. Podejrzewam, że tak jest, ponieważ skanuje więcej złożeń niż to konieczne, aby znaleźć wszystkie atrybuty, a może po prostu odbicie jest wolniejsze niż definicje tras programowych. –