本文分步介绍了如何使用该 System.Net.CookieContainer 类,应用程序中的 Web 服务使用会话或 Cookie 时。
尽管 Web 服务是本质上是无状态,您可以使用 Session 对象维护客户端应用程序和服务器应用程序之间的有状态通信。 若要启用 Web 客户端和 Web 服务之间的有状态通信,您可能会从客户端应用程序发送到 Web 服务的每个邮件使用 CookieContainer 对象。 您可能会占用状态启用客户端应用程序中有状态的 Web 服务。
创建 Web 服务应用程序
<script type="text/javascript"></script>
- 运行 Microsoft Visual Studio.NET。 创建新的 ASP.NET Web 服务项目,使用 Visual C#.NET。
情况默认,创建 Service 1.asmx。 - 将该项目命名 WebService1 。
- 在 生成 菜单上单击 生成解决方案 。
启用服务器上的会话支持
<script type="text/javascript"></script> 默认,处于关闭状态为每个 Web 服务方法的 ASP.NET 会话支持。 必须显式启用需要会话状态的每个 Web 服务方法的会话支持。 若要启用该会话支持,请将 EnableSession 属性添加到 WebMethod 属性。 要这样做,请按下列步骤操作:
- 在解决方案资源管理器右键单击 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) { Session.Add("Time",