From: Dion O. <dol...@us...> - 2005-11-22 10:38:05
|
Update of /cvsroot/magicajax/magicajax/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29854/magicajax/Core Modified Files: MagicAjaxModule.cs Log Message: Checking of browsercaps (in IsMagicAjaxSupportedBrowser) is now only checked once per request (by storing result in Context.Items). This increases performance. Index: MagicAjaxModule.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxModule.cs,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** MagicAjaxModule.cs 21 Nov 2005 21:40:14 -0000 1.24 --- MagicAjaxModule.cs 22 Nov 2005 10:37:50 -0000 1.25 *************** *** 144,164 **** if (HttpContext.Current != null) { ! HttpBrowserCapabilities caps = HttpContext.Current.Request.Browser; ! ! if (caps.Browser != null && caps.EcmaScriptVersion.Major >=1 && caps.W3CDomVersion.Major >= 1) { ! switch (caps.Browser.ToLower()) { ! case "ie": ! isSupported = caps.MajorVersion >5 || (caps.MajorVersion == 5 && caps.MinorVersion >= 5); ! break; ! case "gecko": ! isSupported = caps.Type.ToLower().StartsWith("firefox") && caps.MajorVersion >= 1; ! break; ! case "firefox": ! isSupported = caps.MajorVersion >= 1; ! break; ! //TODO: add support for Opera, Netscape and Safari } } } --- 144,173 ---- if (HttpContext.Current != null) { ! // See if supported-check is done before in this request ! if (HttpContext.Current.Items.Contains("__IsMagicAjaxSupportedBrowser")) { ! isSupported = (bool)HttpContext.Current.Items["__IsMagicAjaxSupportedBrowser"]; ! } ! else ! { ! HttpBrowserCapabilities caps = HttpContext.Current.Request.Browser; ! ! if (caps.Browser != null && caps.EcmaScriptVersion.Major >= 1 && caps.W3CDomVersion.Major >= 1) { ! switch (caps.Browser.ToLower()) ! { ! case "ie": ! isSupported = caps.MajorVersion > 5 || (caps.MajorVersion == 5 && caps.MinorVersion >= 5); ! break; ! case "gecko": ! isSupported = caps.Type.ToLower().StartsWith("firefox") && caps.MajorVersion >= 1; ! break; ! case "firefox": ! isSupported = caps.MajorVersion >= 1; ! break; ! //TODO: add support for Opera, Netscape and Safari ! } } + HttpContext.Current.Items.Add("__IsMagicAjaxSupportedBrowser", isSupported); } } |