zoukankan      html  css  js  c++  java
  • Cookieless Session In WebService

    protected void Button1_Click(object sender, EventArgs e)
    {
        localhost.MyDemo MyService;
    
        // try to get the proxy from Session state
        MyService = Session["MyService"] as localhost.MyDemo;
    
        if (MyService == null)
        {
            // create the proxy
            MyService = new localhost.MyDemo();
     
            // create a container for the SessionID cookie
            MyService.CookieContainer = new CookieContainer();
     
            // store it in Session for next usage
            Session["MyService"] = MyService;
        }
    
        // call the Web Service function
        Label1.Text += MyService.HelloWorld() + "<br />";
    }
    

      

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.SessionState;
    
    namespace TestWebServiceTradition.WS
    {
        public class OurSessionIDManager : ISessionIDManager
        {
            public OurSessionIDManager() { }
    
            private SessionIDManager sid = new SessionIDManager();
    
            public string CreateSessionID(HttpContext context)
            {
                return sid.CreateSessionID(context);
            }
            public string GetSessionID(HttpContext context)
            {
                return sid.GetSessionID(context);
            }
            public void Initialize()
            {
                sid.Initialize();
            }
            public bool InitializeRequest(HttpContext context, bool suppressAutoDetectRedirect, out bool supportSessionIDReissue)
            {
                bool redirectCookie = false;
                if ((context.Request.RawUrl.ToLower().IndexOf(".asmx") > -1))
                    redirectCookie = true; 
                return sid.InitializeRequest(context, redirectCookie, out supportSessionIDReissue);
            }
            public void RemoveSessionID(HttpContext context)
            {
                sid.RemoveSessionID(context);
            }
            public void SaveSessionID(HttpContext context, string id, out bool redirected, out bool cookieAdded)
            {
                sid.SaveSessionID(context, id, out redirected, out cookieAdded);
            }
            public bool Validate(string id)
            {
                return sid.Validate(id);
            }
        }
    }
    

      

    <configuration>
       
    <system.web>
       
    <webServices>
           
    <protocols>
               
    <addname="HttpGet"/>
               
    <addname="HttpPost"/>
           
    </protocols>
       
    </webServices>
       
    </system.web>
    </configuration>
  • 相关阅读:
    判断一个表里面有没有相同的数据
    ASP.NET面试题公司必考<1>
    jQuery 实现三级联动
    javascript 面试大全
    Javascript 实现倒计时跳转页面代码
    SQL删除重复数据只保留一条 .
    编写SQL语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数
    Silverlight 和javascript 之间的调用
    delphi 开放数组参数
    SPCOMM控件在Delphi7.0串口通信中的应用
  • 原文地址:https://www.cnblogs.com/wucg/p/2425184.html
Copyright © 2011-2022 走看看