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);
}
}
|