PC Review


Reply
Thread Tools Rate Thread

ASP.NET Mobile, Cookieless Sessions, and Load Balancing

 
 
thinkfr33ly@gmail.com
Guest
Posts: n/a
 
      10th Aug 2005
I have a WAP site powered by ASP.NET Mobile controls. We're using
cookieless sessions and have an F5 Load Balancer that balances the load
between two web servers.

Every once in a while we'll get the following exception:

System.FormatException: Invalid length for a Base-64 char array. at
System.Convert.FromBase64String(String s) at
System.Web.UI.LosFormatter.Deserialize(String input) at
System.Web.UI.MobileControls.MobilePage.LoadPageStateFromPersistenceMedium()
at System.Web.UI.Page.LoadPageViewState() at
System.Web.UI.Page.ProcessRequestMain()

We've configured our F5 to route all traffic to the same machine based
on the session ID in the URL. But what about the first request to the
site?

I suspect what's happening is this. The user's phone loads up the site
and the URL they load has no session ID in it because its the first
request. Any subsequent traffic has a session ID and so the F5 will
always send that traffic to the same machine.

But that machine isn't necessarily the same machine that issued the
original session ID! Since the first request was essentially routed
randomly to one of the two web servers, the F5 won't know to route
additional requests back to that same server since there was no session
ID in the first URL the user requested.

Does anybody agree with this assesment? Any suggestions on how to fix
it?

 
Reply With Quote
 
 
 
 
Robbe Morris [C# MVP]
Guest
Posts: n/a
 
      11th Aug 2005
Having zilch for experience with WAP sites and the F5 load balancer,
I cannot be 100% certain that this is the issue but...

If it happens periodically it may be that the ISP that
the mobile device runs its traffic through is running
their own outgoing traffic network proxy server. In PC
based browsers, this causes the load balancer to send
the request to the wrong server in the farm. I "suspect"
that this may be occurring to some of your users.

Purely a guess on my part.

If this is, in fact, the issue, there is a product
called ScaleOut StateServer that can remedy this.

http://www.eggheadcafe.com/articles/scaleout_server.asp

--
Robbe Morris - 2004/2005 Microsoft MVP C#

Earn money answering .NET Framework
messageboard posts at EggHeadCafe.com.
http://www.eggheadcafe.com/forums/merit.asp



<(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
>I have a WAP site powered by ASP.NET Mobile controls. We're using
> cookieless sessions and have an F5 Load Balancer that balances the load
> between two web servers.
>
> Every once in a while we'll get the following exception:
>
> System.FormatException: Invalid length for a Base-64 char array. at
> System.Convert.FromBase64String(String s) at
> System.Web.UI.LosFormatter.Deserialize(String input) at
> System.Web.UI.MobileControls.MobilePage.LoadPageStateFromPersistenceMedium()
> at System.Web.UI.Page.LoadPageViewState() at
> System.Web.UI.Page.ProcessRequestMain()
>
> We've configured our F5 to route all traffic to the same machine based
> on the session ID in the URL. But what about the first request to the
> site?
>
> I suspect what's happening is this. The user's phone loads up the site
> and the URL they load has no session ID in it because its the first
> request. Any subsequent traffic has a session ID and so the F5 will
> always send that traffic to the same machine.
>
> But that machine isn't necessarily the same machine that issued the
> original session ID! Since the first request was essentially routed
> randomly to one of the two web servers, the F5 won't know to route
> additional requests back to that same server since there was no session
> ID in the first URL the user requested.
>
> Does anybody agree with this assesment? Any suggestions on how to fix
> it?
>



 
Reply With Quote
 
thinkfr33ly@gmail.com
Guest
Posts: n/a
 
      11th Aug 2005
It turns out that this problem probably isn't due to load balancing.
After examining the log files I've determine that it only happens with
two phones.

These phones are the Motorola 8720 andthe Samsung SGH 427M.

There may be additional phones that cause this error, but we have yet
to see them hit the site.

Any ideas?

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Load Balancing Web Servers: 'Sticky' sessions =?Utf-8?B?Sm9uIExpdHRsZQ==?= Microsoft Windows 2000 Networking 1 26th Jun 2007 08:52 PM
Citrix/TS Load Balancing & Multiple Sessions Stu Microsoft Windows 2000 Terminal Server Applications 6 20th Jan 2006 04:57 PM
Losing session state (load balancing + cookieless=true) Nikander Bruggeman Microsoft Dot NET 0 6th Sep 2004 10:11 AM
ASP.net cookieless sessions =?Utf-8?B?ZGpsdWtlcg==?= Microsoft Dot NET 0 20th Jul 2004 01:56 AM
Cookieless Sessions... JV Microsoft ASP .NET 2 4th Aug 2003 03:36 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 11:35 AM.