在网上看的教程之前都是
四个工程 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