• [WCF]How to Hosting?


    理清楚Host和Client的关系显得非常重要。
    今天在VS2005上安装了WCF扩展,才发现原来2005上的扩展与VS2008的wcf模板不太一样,汗一个先……
    2005的WcfServiceLibrary:
    Code

    在2005的WcfServiceLibrary中提供了MyServiceHost.cs,倒是很好地将一部分功能给封装起来了。
    测试代码如下:
        class Program
        
    {
            
    static void Main(string[] args)
            
    {
                
    //启动Host
                MyServiceHost.StartService();

                
    //构建Client端的Proxy
                System.ServiceModel.ChannelFactory<WCFServiceLibrary1.IService1> channel
                    
    = new System.ServiceModel.ChannelFactory<WCFServiceLibrary1.IService1>("wsEndPoint");   //值得注意的是这里wsEndPoint是指Client的配置(详见App.config)
                WCFServiceLibrary1.IService1 IService1Client = channel.CreateChannel();

                
    //利用Client调用服务操作
                Console.WriteLine(IService1Client.MyOperation1("volnet"));

                
    //停止Host
                MyServiceHost.StopService();
            }

        }
    App.config
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      
    <system.serviceModel>
        
    <client>
          
    <endpoint address="http://localhost:8080/service1" contract="WCFServiceLibrary1.IService1" binding="wsHttpBinding" name="wsEndPoint" />
        
    </client>
        
    <services>
          
    <service name="WCFServiceLibrary1.service1">
            
    <endpoint contract="WCFServiceLibrary1.IService1" binding="wsHttpBinding" />
          
    </service>
        
    </services>
      
    </system.serviceModel>
    </configuration>
    注意:client与services的不同。

    通常我们有以下一些办法使用服务:
    1、在2008中默认添加的WcfServiceLibrary可以被Start a new Instance。这样我们只要在Client端(比如一个ConsoleApplication)Add Service Reference,将会默认创建ServiceReference1的代理(当然是可以改的了),在Client的操作中(例如ConsoleApplication的Main方法)可以直接使用这个代理。
    2、在2005中默认添加的WcfServiceLibrary是不带App.config的,当然也可以通过配置而实现。同样可以在Client端去Hosting一个Service(如本文)。因此更需要注意Host与Client的关系。
  • 相关阅读:
    微信红包限额提升方法
    微信从业人员推荐阅读的100本经典图书
    微信裂变红包
    微信公众平台开发最佳实践(第2版)
    微信公众平台开发(108) 微信摇一摇
    微信支付样例
    微信行业解决方案
    牛逼顿
    微信支付开发(4) 扫码支付模式二
    微信公众平台开发(107) 分享到朋友圈和发送给好友
  • 原文地址:https://www.cnblogs.com/volnet/p/how_to_hosting.html
Copyright © 2020-2023  润新知