在Asp.Net 2.0里,已经能够在WebMethod里使用 Session 、 Application 这种服务器变量了。

一、Session
Webservice中使用Session、Application_user    [WebMethod(EnableSession  =   true )]
Webservice中使用Session、Application_user    
public   string  Hello() 
Webservice中使用Session、Application_asp.net_03Webservice中使用Session、Application_user_04    
Webservice中使用Session、Application_session_05 {
Webservice中使用Session、Application_session_06        
return "Hello," + Session["user"];
Webservice中使用Session、Application_webservice_07    }

Webservice中使用Session、Application_user
Webservice中使用Session、Application_user    [WebMethod(EnableSession 
=   false )]
Webservice中使用Session、Application_user    
public   string  Hello1()
Webservice中使用Session、Application_asp.net_03Webservice中使用Session、Application_user_04    
Webservice中使用Session、Application_session_05 {
Webservice中使用Session、Application_session_06        
return "Hello," + Session["user"];
Webservice中使用Session、Application_webservice_07    }

Webservice中使用Session、Application_user
Webservice中使用Session、Application_user    [WebMethod]
Webservice中使用Session、Application_user    
public   string  Hello2()
Webservice中使用Session、Application_asp.net_03Webservice中使用Session、Application_user_04    
Webservice中使用Session、Application_session_05 {
Webservice中使用Session、Application_session_06        
return "Hello," + Session["user"];
Webservice中使用Session、Application_webservice_07    }

“EnableSession” 为 XML Web services 方法启用会话状态,启用为 true。默认状态为 false。

以上三种方式均能实现对Session变量的使用。但要注意:

如果状态设置为 true,则客户端访问WS时,可以不赋值Session变量,有默认值。
如果状态设置为 false,则客户端访问WS时,必须要先对Session变量赋值,否则报错。

二、Application
Webservice中使用Session、Application_user    [WebMethod]
Webservice中使用Session、Application_user    
public   string  Hello3()
Webservice中使用Session、Application_asp.net_03Webservice中使用Session、Application_user_04    
Webservice中使用Session、Application_session_05 {
Webservice中使用Session、Application_session_06        
return "Hello," + Application["user"];
Webservice中使用Session、Application_webservice_07    }

使用Application时,不需要设置方法标签