wcf已經發行了很久的時間,可能還有需要入門wcf的朋友,我這裏專門寫了一個教程來分享給大家!
如上圖所示,新建一個WCF服務庫項目,打開VS->新建項目->WCF->WCF服務庫,名字我們就使用默認的WcfServiceLibrary1,
創建項目成功之後,我們在【解決方案資源管理器】中選中剛纔新建項目的的app.config
右鍵app.config選擇編輯WCF配置,
如果沒有編輯WCF配置選項,我們選擇 vs菜單項【工具】-> WCF服務配置編輯器,打開之後,再選擇app.config,打開編輯項就可以了。
打開app.config的wcf編輯器之後,選擇 服務->終結點->第一個空名稱->終結點屬性,將binding項,改成netTcpBinding
將第二個空名稱,binding項,改成mexTcpBinding
選擇主機->基址(選中)->點擊編輯,改成net.tcp//localhost:8523/Service1/
然後選擇服務行爲->serviceMetadata(服務元數據)->將HttpGetEnabled和HttpsGetEnabled設置成False
保存配置。
下面進行2種設置方案,第一種是用來調試wcf服務的環境,第二種是通過windows服務來部署wcf的環境
先進行第一種,控制檯應用部署調試wcf服務的環境
選擇c#控制檯應用,使用默認名稱ConsoleApp1點擊確認,然後引用剛纔新建的WcfServiceLibrary1項目。
將控制檯應用Program類代碼改爲如下,
class Program
{
internal static ServiceHost myServiceHost = null;
static void Main(string[] args)
{
Console.WriteLine("任意鍵啓動wcf服務");
Console.ReadKey();
Start();
Console.WriteLine("啓動成功");
Console.WriteLine("任意鍵結束wcf服務");
Console.ReadKey();
Stop();
Console.WriteLine("成功結束");
Console.ReadKey();
}
protected static void Start()
{
if (myServiceHost != null)
{
myServiceHost.Close();
}
myServiceHost = new ServiceHost(typeof(WcfServiceLibrary1.Service1));
myServiceHost.Open();
}
protected static void Stop()
{
if (myServiceHost != null)
{
myServiceHost.Close();
myServiceHost = null;
}
}
}
下面是關鍵的一步,不要盲目操作,出現問題,可以在博客裏面留言,或者發到我的郵箱提問[email protected]
複製WcfServiceLibrary1項目app.config中的,appSetting和system.serviceModel節點,將其複製到控制檯應用的app.config中,完成後如圖
注意保留控制檯應用的startup節點
然後啓動運行就可以了。