zoukankan      html  css  js  c++  java
  • ASP.NET :WebService 服务支持数据类型的实例

    因为WEB服务的实现是建立在XML序列化结构的基础之上的,因此它支持相当多的数据类型。当使用SOAP协议时,按值参数和按引用参数都受支持。按引用参数可以沿两个方向发送值:向上发送到服务器和向下发送给客户端。当使用HTTP-GET和HTTP-POST将输入参数传递给XML WEB服务时,只支持一组有限的数据类型,并且他们必须是按值参数。下面这个实例演示几种数据类型的封装。

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Web;
    using System.Web.Services;
    using System.Xml;
    using System.Data.SqlClient;


    /// <summary>
    /// DataTypeWS 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo 
    = WsiProfiles.BasicProfile1_1)]
    public class DataTypeWS : System.Web.Services.WebService
    {

        
    public DataTypeWS()
        {

            
    //如果使用设计的组件,请取消注释以下行 
            
    //InitializeComponent(); 
        }

        [WebMethod]
        
    public string HelloWorld()
        {
            
    return "Hello World";
        }


        [WebMethod]
      
    public string Hello(Person p)
      {
       
    return "Hello,"+p.Name;
      }

      [WebMethod]
      
    public int[] GetIntArray()
      {
       
    int[] a=new int[5];
       
    for(int i=0;i<5;i++)
        a[i]
    =i*10;
       
    return a;
      }

      [WebMethod]
      
    public Mode GetMode()
      {
       
    return Mode.Off;
      }

      [WebMethod]
      
    public Order GetOrder()
      {
       Order myOrder
    =new Order();
       myOrder.Price
    =34.5;
       myOrder.OrderID
    =323232;
       
    return myOrder;
      }

      [WebMethod]
      
    public Order[] GetOrders()
      {
       Order[] myOrder
    =new Order[2];

       myOrder[
    0]=new Order();
       myOrder[
    0].Price=34.5;
       myOrder[
    0].OrderID=323232;
       myOrder[
    1]=new Order();
       myOrder[
    1].Price=99.9;
       myOrder[
    1].OrderID=646465;
       
    return myOrder;
      }

      [WebMethod]
      
    public DataSet GetDataSet()
      {
       SqlConnection myconn
    =new SqlConnection();
       myconn.ConnectionString
    ="data source=.;initial catalog=DATABASENAME;uid=sa;pwd=sa";

       SqlCommand mycmd
    =new SqlCommand();
       mycmd.Connection
    =myconn;
       mycmd.CommandType
    =CommandType.Text;
       mycmd.CommandText
    ="select * from employee";

       SqlDataAdapter adapter
    =new SqlDataAdapter();
       adapter.SelectCommand
    =mycmd;
       
    //adapter.MissingSchemaAction=MissingSchemaAction.AddWithKey;

       DataSet ds
    =new DataSet();
       adapter.Fill(ds,
    "employee");

       
    return ds;
      }

      [WebMethod]
      
    public XmlElement GetXmlNode()
      {
       XmlDocument doc
    =new XmlDocument();
       XmlElement node;
       node
    =doc.CreateElement("Hello");
       node.InnerXml
    ="XiaoHua";
       
    return node;
      }

     
    public enum Mode
     {
      On
    =1,
      Off
    =0
     }
        
    public struct Order
     {
      
    public int OrderID;
      
    public double Price;
     }
        
    public class Person
        {
            
    private string name;
            
    public string Name
            {
                
    get
                {
                    
    return name;
                }
                
    set
                {
                    name 
    = value;
                }
            }
        }



    }

  • 相关阅读:
    Java设计模式-状态模式(State)
    Java设计模式-备忘录模式(Memento)
    Java设计模式-命令模式(Command)
    Java设计模式-责任链模式(Chain of Responsibility)
    Java设计模式-迭代子模式(Iterator)
    Java设计模式-观察者模式(Observer)
    Java设计模式-模板方法模式(Template Method)
    Java设计模式-策略模式(strategy)
    Java设计模式-享元模式(Flyweight)
    Java设计模式-组合模式(Composite)
  • 原文地址:https://www.cnblogs.com/Fooo/p/1524704.html
Copyright © 2011-2022 走看看