zoukankan      html  css  js  c++  java
  • WinForm客户端调用 WebService时 如何启用Session

    首先制作一个webservice服务并发布它

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Xml.Linq;

    namespace MyService1
    {
        /// <summary>
        /// Service1 的摘要说明
        /// </summary>
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [ToolboxItem(false)]
        // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
        // [System.Web.Script.Services.ScriptService]
        public class Service1 : System.Web.Services.WebService
        {

            [WebMethod]
            public string HelloWorld()
            {
                return "Hello World";
            }
            [WebMethod(EnableSession = true)]
            public string Test()
            {
                string name = Context.Session["username"].ToString();
                return name;
           
            }
            [WebMethod(EnableSession = true)]
            public void SetName(string strName)
            {
                Session["EmpName"] = strName;
            }

            [WebMethod(EnableSession = true)]
            public string GetName()
            {
                if (Session["EmpName"] == null)
                {
                    return "";
                }
                else
                {
                    return (string)Session["EmpName"];
                }
            }
        }
    }

    然后构建一个winform程序

     public Form1()
            {
                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {

                System.Net.CookieContainer cc = new System.Net.CookieContainer();
                localhost.Service1 s1 = new localhost.Service1();
                s1.CookieContainer = cc;
                s1.SetName(textBox1.Text);
                label1.Text = s1.GetName();
              
            }

    CookieContainer获取或设置与此请求关联的 cookie。

    针对于webform的调用也是如此

     System.Net.CookieContainer cc=new System.Net.CookieContainer();
            Service.Service1 service = new Service.Service1();
            service.CookieContainer = cc;
            service.SetName("lijinchang");
            Response.Write(service.GetName());

  • 相关阅读:
    linux下文件结束符
    【转】跟我学Kafka之NIO通信机制
    【转】 详解Kafka生产者Producer配置
    【转】项目延期的⑦大因素
    (转)EOSIO开发(三)钱包、账户与账户权限之概念篇
    CentOS里alias命令
    (转)EOSIO开发(一)使用Docker构建本地环境
    Marathon自动扩缩容(marathon-lb-autoscale)
    (转)Springboot日志配置(超详细,推荐)
    Spring Boot下的lombok安装以及使用简介
  • 原文地址:https://www.cnblogs.com/lijinchang/p/2335550.html
Copyright © 2011-2022 走看看