.NET WEB服务专题

Web服务:
1.介绍WEB服务在分布式应用程序中的用途以及地位
2.介绍WSDL\SOAP\UDDI\XML在WEB服务中的作用
3.举例演示Visual Studio 2003创建WEB服务的步骤
4.举例说明如何在.NET应用程序使用WEB
5.修改代理类的构造函数,传递web服务的URL
6.介绍wsdl.exe的使用方法,演示如何使用wsdl.exe生成代理类
7.使用MessageName属性为方法或属性名创建别名,常用来唯一标识多态方法
代码如下:
using System.Web.Services;

public class Simple:WebService
{
 [WebMethod]
 public int Add(int a, int b)
 {
  return a+b;
 }

 [WebMethod(MessageName="Add2")]
 public int Add(int a, int b, int c)
 {
  return a+b+c;
 }
}

8.为Webservice启用会话状态(EnableSession)
示例代码如下:
WEB服务代码:
using System.Web.Services;

public class SessionStateExample : WebService
{
 [WebMethod(EnableSession=true)]
 public void SetSession(string key, string item)
 {
  Session[key] = item;
 }

 [WebMethod(EnableSession=true)]
 public string GetSession(string key)
 {
  if(Session[key]!=null)
   return Session[key].ToString();
  else
   return "null";
 }
}
客户端代码如下:
 class ClassClient
 {
  [STAThread]
  static void Main(string[] args)
  {
   SessionStateExample sse=new SessionStateExample();
   CookieContainer cc=new CookieContainer();
   sse.CookieContainer=cc;
   sse.SetSession("name","john");
   Console.WriteLine(sse.GetSession("name"));
   Console.ReadLine();
  }
 }

注意事项:
(1)代理需要显式支持HTTP cookie,可通过指定CookieContainer实现
(2)cookie仅在代理生存期内有效

9.在WEB服务中使用数据高速缓存
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;
using System.Web.Caching;
using System.Web;

public class DataCachingExample : WebService
{
 [WebMethod]
 public DataSet GetDataSet(string column)
 {
  Cache AppCache;

  AppCache = HttpContext.Current.Cache;

  if (AppCache[column] == null)
   AppCache[column] = LoadDataSet(column);

  return (DataSet)AppCache[column];
 }

 private DataSet LoadDataSet(string column)
 {
  SqlConnection myConnection;
  SqlDataAdapter myCommand;
  DataSet products;

  myConnection = new SqlConnection("server=.;database=pubs;uid=sa;pwd=;");
  myCommand = new SqlDataAdapter("select " + column + " from Authors", myConnection);
  products = new DataSet();

  myCommand.Fill(products, "products");

  return products;
 }
}
10.使用TransactionOption启用自动事务,以银行转帐为例
示例代码:

public class Bank : WebService {
 
      [WebMethod(TransactionOption=TransactionOption.RequiresNew) ]
      public void Transfer(long Amount, long AcctNumberTo, long AcctNumberFrom) 
      {    
      }
}
11.WEB服务和.RET Remoting技术的异同和应用范围
12.WEB服务和COM+的综合应用
13.使用WEB服务创建一个三层结构的应用程序

你可能感兴趣的:(.net)