In various forums (mainly in Silverlight.Net Forum), I have seen people asking a question: “How to implement Session Management in Silverlight?” The simple answer is: “Session Management is not available in Silverlight”. Why? If it is not there, how can we implement it?
Ok, If you are new to Silverlight, you need to know about this. Hence, in this post, I will describe Silverlight Session Management. The targeted audience for this post is mainly the beginners of Silverlight. Read it and if you have any queries, let me know.
As you all know that once you visit the Silverlight site, it first downloads the .XAP file to the client’s PC and then runs from there. Other side, the session is a server side concept. It maintains in the server. Hence, your Silverlight application can’t maintain the session.
So, what to do?
You can easily maintain an application level static variable in the client side and store your data. Whenever you need, you can access from various Silverlight pages across your application.
Here I will show how to do this. Create a static class called “SessionManager”. Now create a Dictionary Property of type <string, object> and name it as “Session”.
Now from your application, whenever you want to set a value to that object, use the SessionManager class to set the key/value pair to the Session property.
When you want to access the same key/value, get it from the SessionManager.Session property. Have a look into the code:
That’s it. Now you are able to store values like you do in ASP.NET Session. But be sure that it is application level and hence if you refresh the browser, you will lose all your records.
CodeProject


Kunal Chowdhury is a Microsoft MVP (Most Valuable Professional) in Silverlight Technology, a Codeproject MVP & Mentor, DZone MVB (Most Valuable Blogger), Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession.
He is currently working as a Software Engineer II in an MNC located at Pune, India. He has a very good skill over XAML, C#, Silverlight and WPF. He has a good working experience in Windows 7 application (including Multi-touch) development too.
He posts his findings in his technical blog. He also writes for SilverlightShow and Codeproject portal. Many of his articles were highlighted as "Article of the Day" in Microsoft sites.
He also has another website called Silverlight-Zone.com where he posts article links on Silverlight, Windows Phone 7 and XNA accumulated from various web sites to help the community grow on specified technologies.
You can reach him in his Blog : http://www.kunal-chowdhury.com
He is also available in Twitter : http://twitter.com/kunal2383