跟着帮助文档例子,来点“形”的认识
 
构建服务部分
 
InBlock.gif        /// <summary>
InBlock.gif        /// 服务协议
InBlock.gif        /// </summary>
InBlock.gif        [ServiceContract]
InBlock.gif        public interface ISer
InBlock.gif        {
InBlock.gif                /// <summary>
InBlock.gif                /// 做点啥
InBlock.gif                /// </summary>
InBlock.gif                /// <returns></returns>
InBlock.gif                [OperationContract]
InBlock.gif                string Do(string @in);
InBlock.gif        }
InBlock.gif
InBlock.gif        /// <summary>
InBlock.gif        /// 服务实现
InBlock.gif        /// </summary>
InBlock.gif        public class Ser : ISer
InBlock.gif        {
InBlock.gifISer 成员#region ISer 成员
InBlock.gif
InBlock.gif                public string Do(string @in)
InBlock.gif                {
InBlock.gif                        return "9527";
InBlock.gif                }
InBlock.gif                
InBlock.gif                #endregion
InBlock.gif        }
 
 
承载服务,并开启元数据获取能力
 
InBlock.gif             static void Main(string[] args)
InBlock.gif                {
InBlock.gif                        var uri = new Uri("http://localhost:60000/wcf/Ser");
InBlock.gif                        var host = new ServiceHost(typeof(Ser), uri);
InBlock.gif                        host.AddServiceEndpoint(
InBlock.gif                                     typeof(ISer),
InBlock.gif                                     new WSHttpBinding(),
InBlock.gif                                     "Ser");
InBlock.gif                        var smb = new ServiceMetadataBehavior();
InBlock.gif                        smb.HttpGetEnabled = true;
InBlock.gif                        host.Description.Behaviors.Add(smb);
InBlock.gif
InBlock.gif                        host.Open();
InBlock.gif                        Console.WriteLine("Open");
InBlock.gif                        Console.ReadKey();
InBlock.gif                        host.Close();
InBlock.gif                }