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>
  • 相关阅读:
    对var和let作用域用闭包的特性做最好的解释
    Js函数作用域
    问题记录
    Git学习
    React-router BrowserRouter导致axios请求时会重复url中的某些字段
    leetcode python 032 识别最长合法括号
    leetcode python 030 Substring with Concatenation of All Words
    n阶楼梯,一次走1,2,3步,求多少种不同走法
    leetcode python 012 hard 合并k个有序链表
    leetcode python 011
  • 原文地址:https://www.cnblogs.com/wucg/p/2425184.html
Copyright © 2011-2022 走看看