使用 CookieContainer 使用 Visual C#.NET 时维护 Web 服务中的状态

本文详细阐述了如何通过使用System.Net.CookieContainer在无状态的Web服务中实现客户端和服务器间的有状态通信。通过创建ASP.NET Web服务和客户端应用程序,启用会话支持,以及利用CookieContainer来传递和获取会话对象,实现了状态维护。

本文分步介绍了如何使用该 System.Net.CookieContainer 类,应用程序中的 Web 服务使用会话或 Cookie 时。

尽管 Web 服务是本质上是无状态,您可以使用 Session 对象维护客户端应用程序和服务器应用程序之间的有状态通信。 若要启用 Web 客户端和 Web 服务之间的有状态通信,您可能会从客户端应用程序发送到 Web 服务的每个邮件使用 CookieContainer 对象。 您可能会占用状态启用客户端应用程序中有状态的 Web 服务。

创建 Web 服务应用程序

  1. 运行 Microsoft Visual Studio.NET。 创建新的 ASP.NET Web 服务项目,使用 Visual C#.NET。

    情况默认,创建 Service 1.asmx。
  2. 将该项目命名 WebService1
  3. 生成 菜单上单击 生成解决方案

 

启用服务器上的会话支持

默认,处于关闭状态为每个 Web 服务方法的 ASP.NET 会话支持。 必须显式启用需要会话状态的每个 Web 服务方法的会话支持。 若要启用该会话支持,请将 EnableSession 属性添加到 WebMethod 属性。 要这样做,请按下列步骤操作:

  1. 在解决方案资源管理器右键单击 Service 1.asmx ,然后将现有代码替换为下面的代码:
    using System;
    using System.ComponentModel;
    using System.Web;
    using System.Web.Services;
    
    namespace WebService1
    {
    	/// <summary>
    	/// Summary description for Service1.
    	/// </summary>
    	public class Service1 : System.Web.Services.WebService
    	{
    		public Service1()
    		{
    			//CODEGEN:  Call required by ASP.NET Web Services Designer.
    			InitializeComponent();
    		}
    
    		#region Component Designer generated code
    	
    		private void InitializeComponent()
    		{
    		}
    
    		
    		#endregion
    
          [WebMethod(EnableSession=true)]
          public string SetTime(string CurrentTime)
          {
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值