c#:简单WCF demo

在网上看的教程之前都是
这里写图片描述
四个工程 Contract+Serice+Host+Client
但是vs2015里面支持新建WCF工程
先新建一个空工程
在里面新建一个WCF Service Library
里面会创建contract和service
分别叫IService1和Service1
里面默认定义和实现了一个 string GetData(int value); 的函数
一会就拿这个函数测一下工程功能

新建控制台程序Host
下面是免配置版代码

static void Main(string[] args)
{
    using (ServiceHost host = new ServiceHost(typeof(Service1)))
    {
        host.AddServiceEndpoint(typeof(IService1), new NetTcpBinding(), "net.tcp://127.0.0.1:9999/Caculate");
        host.Opened += delegate
        {
            Console.WriteLine("Host Started");
        };
        host.Open();
        Console.Read();
    }
}

这样service就运行在宿主上了

然后新建控制台Client工程

private static void Main(string[] args)
{
    using (ChannelFactory<IService1> channel = new ChannelFactory<IService1>(new NetTcpBinding(), "net.tcp://127.0.0.1:9999/Caculate"))
    {
        IService1 proxy = channel.CreateChannel();
        String result = proxy.GetData(1);
        Console.WriteLine(result);
    }
}

之后配置一下App.config文件
在Endpoints中add节点
这里写图片描述

之后先运行Host 再运行Client
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章