1.创建一个WebService,添加一个自定义类:

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]using System;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Web.Services;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Xml;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Xml.Serialization;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Xml.Schema;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Collections;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
namespace WebServiceForStock
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
public class Person
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [XmlElement(ElementName
="UserName")]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public string Name;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [XmlElement(ElementName
="UserAge")]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public int Age;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
public class User
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public Person personInstance ;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [XmlElement(ElementName
="UserEmail")]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public string Email;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [XmlElement(ElementName
="UserPassword")]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public string pwd;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
/// CustomizeClass 的摘要说明。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
/// 自定义类用XML序列化
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
/// 可以返回复合的类
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    public class CustomizeClass
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [XmlAttribute()]
public int orderID;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public DateTime orderTime;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [XmlElement(
"DateTimeRequired")]public DateTime requiredDate;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public DateTime shippedDate;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public ArrayList Details;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [XmlIgnore]
public string SalesPersonID;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public CustomizeClass()
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// TODO: 在此处添加构造函数逻辑
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
        }        
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    [XmlRoot(Namespace 
= "http://www.cnblogs.com/slashout/")]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
public class Group
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public string GroupName;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
// This is for serializing Employee elements.
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
        [XmlAnyElement(Name = "Employee")]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public XmlElement[] UnknownEmployees;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
// This is for serializing City elements.   
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
        [XmlAnyElement
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]             (Name 
= "City"
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]             Namespace 
= "http://www.cnblogs.com/slashout/")]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public XmlElement[] UnknownCity;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
// This one is for all other unknown elements.
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
        [XmlAnyElement]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public XmlElement[] UnknownElements;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]}

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]


2.在Service.asmx内进行编辑

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]using System;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Collections;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.ComponentModel;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Data;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Diagnostics;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Web;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Web.Services;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
namespace WebServiceForStock
{

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
/// Service1 的摘要说明。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    public class Service1 : System.Web.Services.WebService
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public Service1()
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            InitializeComponent();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private System.Windows.Forms.TextBox textBox1;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
//Web 服务设计器所必需的
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
        private IContainer components = null;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]                

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 此方法的内容。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        private void InitializeComponent()
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textBox1 = new System.Windows.Forms.TextBox();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// textBox1
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            this.textBox1.Location = new System.Drawing.Point(1717);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textBox1.Name = "textBox1";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textBox1.TabIndex = 0;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textBox1.Text = "textBox1";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 清理所有正在使用的资源。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        protected override void Dispose( bool disposing )
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
if(disposing && components != null)
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]                components.Dispose();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
base.Dispose(disposing);        
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
#endregion
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
// WEB 服务示例
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
// HelloWorld() 示例服务返回字符串 Hello World
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
// 若要生成,请取消注释下列行,然后保存并生成项目
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
// 若要测试此 Web 服务,请按 F5 键
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [WebMethod]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public User StockService(int UserID)
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            User newUser
=new User();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            newUser.personInstance
=new Person();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            newUser.personInstance.Name
="Slashout";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            newUser.personInstance.Age
=25;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            newUser.Email
="slashout@163.com";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            newUser.pwd
="test";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
return newUser;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]}

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]


3.添加一个WindowsApp工程,添加Web引用,本人用的引用名称为 EDIService

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]using System;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Drawing;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Collections;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.ComponentModel;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Windows.Forms;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Data;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using System.Web;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
using ServiceClient.EDIService;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
namespace ServiceClient
{

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
/// Form1 的摘要说明。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    public class Form1 : System.Windows.Forms.Form
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private System.Windows.Forms.Button button1;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private System.Windows.Forms.Button button2;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private System.Windows.Forms.TextBox textName;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private System.Windows.Forms.TextBox textAge;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private System.Windows.Forms.TextBox textEmail;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private System.Windows.Forms.TextBox textPassword;

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 必需的设计器变量。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        private System.ComponentModel.Container components = null;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
public Form1()
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// Windows 窗体设计器支持所必需的
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            InitializeComponent();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
        }
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 清理所有正在使用的资源。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        protected override void Dispose( bool disposing )
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
if( disposing )
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]                
if (components != null
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]                    components.Dispose();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]                }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
base.Dispose( disposing );
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]


简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 此方法的内容。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        private void InitializeComponent()
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button1 = new System.Windows.Forms.Button();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button2 = new System.Windows.Forms.Button();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textName = new System.Windows.Forms.TextBox();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textAge = new System.Windows.Forms.TextBox();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textEmail = new System.Windows.Forms.TextBox();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textPassword = new System.Windows.Forms.TextBox();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.SuspendLayout();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// button1
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            this.button1.Location = new System.Drawing.Point(72200);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button1.Name = "button1";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button1.Size = new System.Drawing.Size(12023);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button1.TabIndex = 0;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button1.Text = "GetTheWebService";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button1.Click += new System.EventHandler(this.button1_Click);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// button2
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            this.button2.Location = new System.Drawing.Point(272200);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button2.Name = "button2";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button2.Size = new System.Drawing.Size(13623);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button2.TabIndex = 1;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button2.Text = "RequestTheWebService";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.button2.Click += new System.EventHandler(this.button2_Click);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// textName
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            this.textName.Location = new System.Drawing.Point(6416);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textName.Name = "textName";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textName.Size = new System.Drawing.Size(20821);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textName.TabIndex = 2;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textName.Text = "Name";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// textAge
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            this.textAge.Location = new System.Drawing.Point(6456);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textAge.Name = "textAge";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textAge.Size = new System.Drawing.Size(20821);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textAge.TabIndex = 3;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textAge.Text = "Age";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// textEmail
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            this.textEmail.Location = new System.Drawing.Point(6496);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textEmail.Name = "textEmail";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textEmail.Size = new System.Drawing.Size(20821);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textEmail.TabIndex = 4;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textEmail.Text = "Email";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// textPassword
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            this.textPassword.Location = new System.Drawing.Point(64136);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textPassword.Name = "textPassword";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textPassword.Size = new System.Drawing.Size(20821);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textPassword.TabIndex = 5;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textPassword.Text = "PassWord";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// Form1
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
// 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            this.AutoScaleBaseSize = new System.Drawing.Size(614);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.ClientSize = new System.Drawing.Size(496273);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.Controls.Add(this.textPassword);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.Controls.Add(this.textEmail);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.Controls.Add(this.textAge);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.Controls.Add(this.textName);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.Controls.Add(this.button2);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.Controls.Add(this.button1);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.Name = "Form1";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.Text = "Form1";
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.ResumeLayout(false);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
#endregion
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 应用程序的主入口点。
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        [STAThread]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
static void Main() 
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            Application.Run(
new Form1());
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// 从WebService上反序列化XML
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
/// </summary>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        private void UnSerializeSOAP()
{                        
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//实例化服务
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            ServiceClient.EDIService.Service1 edi=new EDIService.Service1();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//实例化类
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
            ServiceClient.EDIService.User newUser=edi.StockService(1);
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
//
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textName.Text=newUser.personInstance.Name;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textAge.Text=newUser.personInstance.Age.ToString();
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textPassword.Text=newUser.pwd;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.textEmail.Text=newUser.Email;
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]                                 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private void button1_Click(object sender, System.EventArgs e)
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]            
this.UnSerializeSOAP();            
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
private void button2_Click(object sender, System.EventArgs e)
{
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]        }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]    }

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]}

简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]


4.好了,那么我们将WindowsApp设为启动项目,可以运行了^^

5.WebService返回的SOAP消息是这样的:
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]  <?xml version="1.0" encoding="utf-8" ?> 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
<User xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]
<personInstance>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]  
<UserName>Slashout</UserName> 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]  
<UserAge>25</UserAge> 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]  
</personInstance>
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]  
<UserEmail>slashout@163.com</UserEmail> 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]  
<UserPassword>test</UserPassword> 
简单的WindowsForm Client与WebService通信例子[对象的序列化与反序列化]  
</User>


5.这个小代码段非常简单,但是你可以在WebService部分扩展自定义的类,从Web DB上返回你需要串行化的对象实例,其实BizLogic的复杂度参看具体项目.但是底层实现基本都差不多的^^.

总之很简单就很容易看懂了^^.

相关文章:

  • 2021-08-02
  • 2021-10-18
  • 2022-12-23
  • 2021-07-03
  • 2021-09-22
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2021-07-15
  • 2021-08-17
  • 2021-10-05
相关资源
相似解决方案