1)宿主程序
class Program
{
static ServiceHost host = null;
static string baseAddress;
static void Main(string[] args)
{
try
{
baseAddress = System.Configuration.ConfigurationManager.AppSettings["BaseAddress"];
host = new ServiceHost(typeof(DatabaseService), new Uri(baseAddress));
NetTcpBinding binding = new NetTcpBinding();
binding.Security.Mode = SecurityMode.None;
binding.TransferMode = TransferMode.Streamed;
binding.MaxReceivedMessageSize = int.MaxValue;
host.AddServiceEndpoint(typeof(IDatabaseService), binding, "");
host.Open();
Console.WriteLine("启动成功");
Console.ReadKey();
}
catch (Exception exc)
{
Console.WriteLine("启动失败:" + exc.ToString());
Console.ReadKey();
}
}
2)客户端配置
public partial class Form1 : Form
{
ChannelFactory<IDatabaseService> factory;
IDatabaseService manager;
string baseAddress = "net.tcp://localhost:8733/";
public Form1()
{
InitializeComponent();
NetTcpBinding binding = new NetTcpBinding();
binding.Security.Mode = SecurityMode.None;
binding.TransferMode = TransferMode.Buffered;
binding.MaxReceivedMessageSize = int.MaxValue;
factory = new ChannelFactory<IDatabaseService>(binding,new EndpointAddress(baseAddress));
manager = factory.CreateChannel();
}
}