zoukankan      html  css  js  c++  java
  • Silverlight 实现session

    由于silverlight运行在客户端,我们只能模拟出session  首先定义一个SessionManager类

     
    using System;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.Collections.Generic;
    
    namespace WebUPGIS.controls
    {
        public static class SessionManager
        {
            private static Dictionary<string, object> session = new Dictionary<string, object>();
    
            public static Dictionary<string, object> Session
            {
                get { return SessionManager.session; }
                set { SessionManager.session = value; }
            }
    
        }
    }
    
    再通过各种方式把asp.net的session传递给silverlight  例如
    1.通过请求页面 **.apsx?key=value 传给一个包含silverlight的页面 然后 在sl中获取
     
               IDictionary<String, String> paras = HtmlPage.Document.QueryString;
                if (paras.ContainsKey("userName"))
                {
                    this.button1.Content = paras["userName"];
                }
    2.如果包含silverlight的页面是aspx页面 可以先在页面后台的load中获取session 存放在hidden里面
     
     
    最后把session值保存到SessionManager中,例如
     
                HtmlDocument document = HtmlPage.Document;
                string hiddenStr = document.GetElementById("hiddenStr").GetAttribute("value");
                if(hiddenStr!="")
                {
                    string[] userInfo = hiddenStr.Split(';');
                    SessionManager.Session["userName"] = userInfo[0];
                    SessionManager.Session["userID"] = userInfo[1];
                }
    
                this.button1.Content = SessionManager.Session["userName"].ToString();
     
    在需要使用session的地方 用SessionManager.Session["sessionName"] 即可
    Powered By D&J (URL:http://www.cnblogs.com/Areas/)
  • 相关阅读:
    Linux 之 文件压缩解压
    Linux 之 文件搜索命令
    Linux 之 文件内容查看
    Linux 之 Vim常用命令
    Linux 之 CentOS练习
    CentOS找不到想要的镜像版本?
    Swoole 简单学习(2)
    Swoole 简单学习
    svn的简单知识
    8、16、32-BIT系列单片机区别与特点
  • 原文地址:https://www.cnblogs.com/Areas/p/2154612.html
Copyright © 2011-2022 走看看