WCF通信简单示例

   今天写了一个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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值