WCF通信简单示例

来源:互联网 发布:土地确权数据库建设 编辑:程序博客网 时间:2024/05/16 03:35

   今天写了一个WCF demo,给大家分享,说明如下

     服务接口类库WCFService.dll

     服务实现类库WCFServicImp.dll

     服务宿主项目WCFHost

     客户端调用项目:WCFTest

    大家下载完DEMO运行的时候,先运行服务器端WCFHost,然后再运行客户端WCFTest进行调用,关于数据库服务器的地址请自己配置

    请大家注意下服务器端和客户端的app.config文件,关于WCF服务的所有配置,都在这两个文件中进行配置,

    客户端调用服务的时候,要引用接口类库 WCFService.dll

  代码

   服务器端宿主

   

public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        static List<ServiceHost> _hosts = new List<ServiceHost>();        private void Form1_Load(object sender, EventArgs e)        {            //启动服务器端          Configuration conf = ConfigurationManager.OpenExeConfiguration(Assembly.GetEntryAssembly().Location);            ServiceModelSectionGroup svcmod = (ServiceModelSectionGroup)conf.GetSectionGroup("system.serviceModel");            foreach (ServiceElement el in svcmod.Services.Services)            {                Type svcType = Type.GetType(el.Name + "," + el.Name.Substring(0, el.Name.LastIndexOf('.')));                if (svcType == null)                {                    throw new Exception("配置文件中的服务 [" + el.Name + "] 无效.");                }                ServiceHost hst = new ServiceHost(svcType);                _hosts.Add(hst);                hst.Open();            }        }    }


    客户端调用代码

   

    private void button1_Click(object sender, EventArgs e)        {            using (ChannelFactory<WCFService.ICity> channelFactory = new ChannelFactory<WCFService.ICity>("CityImp"))            {                WCFService.ICity proxy = channelFactory.CreateChannel();                this.dataGridView1.DataSource = proxy.GetAllCity().Tables[0];            }        }



     

   

 demo下载

 http://download.csdn.net/detail/zx13525079024/3739270

原创粉丝点击