WCF釋出多個服務
阿新 • • 發佈:2022-05-02
using System; using System.Collections.Generic; using System.Linq; using System.Text; using WcfServiceLibrary1; using System.ServiceModel.Configuration; using System.Configuration; using System.Reflection; using System.ServiceModel; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //將指定的客戶端配置檔案作為Configuration開啟 Configuration conf = ConfigurationManager.OpenExeConfiguration(Assembly.GetCallingAssembly().Location); ServiceModelSectionGroup svcmode = (ServiceModelSectionGroup)conf.GetSectionGroup("system.serviceModel"); ServiceHost host = null; foreach (ServiceElement el in svcmode.Services.Services) { //string serviceNameSpace = el.Name.Substring(0, el.Name.LastIndexOf('.')); string serviceNameSpace = el.Name.Split('.')[0]; Type svcType = Type.GetType(el.Name + "," + serviceNameSpace); if (svcType == null) throw new Exception("Invalid Service Type " + el.Name + " in configuration file."); host = new ServiceHost(svcType); host.Opened += delegate { Console.WriteLine(el.Name + "服務已經啟動了"); }; host.Open(); } Console.Read(); } }
這裡注意引入System.Configuration名稱空間
執行結果: