wcf入門教程之在.net471中創建一個使用tcp網絡協議的wcf控制檯開發測試環境

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節點


然後啓動運行就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章