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