原文:点击打开链接
只要前面的1.2能做出来, 这个确实比较简单了。
——————————————————————————————
Winform的Self-Host和ConsoleHost类似,先添加 WcfServiceLib 工程引用,将 WcfServiceLib 里的App.config 移到 Winform 工程里。加上启动Service的代码就OK了!
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private ServiceHost host = null;
- // 开启服务端
- private void btnStart_Click(object sender, EventArgs e)
- {
- try
- {
- if (host != null)
- host.Close();
- host = new ServiceHost(typeof(WcfServiceLib.Service1));
- host.Open();
- this.textBox1.Text = "Server Opened!";
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.ToString());
- if (host != null)
- host.Close();
- }
- }
- // 关闭服务端
- private void btnStop_Click(object sender, EventArgs e)
- {
- if (host != null)
- {
- host.Close();
- this.textBox1.Text += "Server Closed!";
- }
- }
- }
在Winform中,不要使用 using(...) 代码块,这将导致在Button方法结束后自动销毁Host对象而关闭服务。