static void MvcPerf() { var defaults = new RouteValueDictionary(new Dictionary <string, object>() { { "controller", "home" }, { "action", "index" }, { "id", null } }); RouteTable.Routes.Add("named", new Route("{controller}/{action}/{id}", defaults, new DummyHandler())); var collection = RouteTable.Routes; var watch = new Stopwatch(); watch.Start(); for (int i = 0; i < 1000000; i++) { var context = new HttpContextWrapperStub("controller"); var routeData = collection.GetRouteData(context); Assert.IsNotNull(routeData); context = new HttpContextWrapperStub("controller/action/10"); routeData = collection.GetRouteData(context); Assert.IsNotNull(routeData); context = new HttpContextWrapperStub("controller/create"); routeData = collection.GetRouteData(context); Assert.IsNotNull(routeData); } watch.Stop(); Console.WriteLine("MVC Execution took " + watch.ElapsedMilliseconds); }
static void MvcPerf() { var defaults = new RouteValueDictionary(new Dictionary<string, object>() {{"controller", "home"}, {"action", "index"}, {"id", null}}); RouteTable.Routes.Add("named", new Route("{controller}/{action}/{id}", defaults, new DummyHandler())); var collection = RouteTable.Routes; var watch = new Stopwatch(); watch.Start(); for (int i = 0; i < 1000000; i++) { var context = new HttpContextWrapperStub("controller"); var routeData = collection.GetRouteData(context); Assert.IsNotNull(routeData); context = new HttpContextWrapperStub("controller/action/10"); routeData = collection.GetRouteData(context); Assert.IsNotNull(routeData); context = new HttpContextWrapperStub("controller/create"); routeData = collection.GetRouteData(context); Assert.IsNotNull(routeData); } watch.Stop(); Console.WriteLine("MVC Execution took " + watch.ElapsedMilliseconds); }