zoukankan      html  css  js  c++  java
  • WCF测试小程序

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.ServiceModel.Channels;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleTest
    {
    class Program
    {
    static void Main(string[] args)
    {
    //发布服务端的主机服务
    string url = "http://localhost:8080";
    ServiceHost sh = new ServiceHost(typeof(MyService));
    Binding bind = new BasicHttpBinding();
    sh.AddServiceEndpoint(typeof(IService), bind, url);
    sh.Open();

    //客户端发送消息,使用服务端的服务
    ChannelFactory<IService> cf = new ChannelFactory<IService>(bind);
    EndpointAddress ea = new EndpointAddress(url);
    IService iservice = cf.CreateChannel(ea);
    Student ss = iservice.GetStudent();
    Console.WriteLine(ss.StuID);
    Console.WriteLine(ss.Name);
    Console.WriteLine(ss.Age);
    Console.Read();
    }
    }

    /// <summary>
    /// 定义服务的协定接口
    /// </summary>
    [ServiceContract]
    public interface IService
    {
    [OperationContract]
    Student GetStudent();
    }

    /// <summary>
    /// 实现服务接口
    /// </summary>
    public class MyService : IService
    {
    public Student GetStudent()
    {
    Student s = new Student();
    s.StuID = 123456;
    s.Name = "哈哈哈哈";
    s.Age = 20;
    return s;
    }
    }

    /// <summary>
    /// 序列化
    /// </summary>
    [DataContract]
    public class Student
    {
    private long stuID;
    [DataMember]
    public long StuID
    {
    get { return stuID; }
    set { stuID = value; }
    }

    private string name;
    [DataMember]
    public string Name
    {
    get { return name; }
    set { name = value; }
    }

    private int age;
    [DataMember]
    public int Age
    {
    get { return age; }
    set { age = value; }
    }

    /// <summary>
    /// 反序列化时,执行此方法
    /// </summary>
    /// <param name="ss"></param>
    [OnSerializing]
    public void hhha(StreamingContext ss)
    {
    this.Age = this.Age == 20 ? 50 : 88;
    }

    }


    }

  • 相关阅读:
    警示
    【拒绝挂分】盘点蒟蒻ghy的各种sb错误
    牛客NOIPtg day5 B-demo的gcd
    数字校园APP——视频分享
    数字校园APP——软件需求规格说明书
    数字校园APP——可行性报告分析
    数字校园APP开发与应用
    结对编程第二次作业——四则运算自动生成器
    软件工程第四次作业
    软件工程第三次作业
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/6642158.html
Copyright © 2011-2022 走看看