最近刚接触WCF,以前使用过WebService,先前以为在Web应用程序开发方面,使用HTTP协议的情况下,WCF和WebService是一样的。但是今天看了下书,发现WCF似乎需要启动服务后,才能在客户端引用。而且这种启动还是使用代码来实现的。  我想问的问题是:在Web编程方面,WCF可不可以像WebService那样,建一个站点在IIS上直接运行,在客户端直接引用WebService生成的服务来实现需要的功能,而不需要使用类似host.open()类似的代码去启动WCF服务?  谢谢!

解决方案 »

  1.   

    不可以的。因为WCF这个一个契约的编程。做出你的方法后,必须有个宿主来让你的方法依附。
    在客户端启动后,要按照你的方法来实例。去调用宿主的那些依附方法。
    就是因为调用方法很多,所以不能直接用IIS来用。
      

  2.   

    在Web编程方面,WCF可不可以像WebService那样,建一个站点在IIS上直接运行,在客户端直接引用WebService生成的服务来实现需要的功能,而不需要使用类似host.open()类似的代码去启动WCF服务?WCF 有4种宿主,Windows服务,你可以将WCF 注册为windows服务;应用程序;控制台模式;IIS;
    你说的就是用WCF中采用IIS作为宿主进程,这个是可以的。
      

  3.   

    vs中新建项目的时候选择Web下的WCF Service Application模板,就是Host在website中的。WCF支持多种Host方式, self-host, windows service, IIS etc. 具体参考:
    Exploring Your Hosting Options 小节
    http://msdn.microsoft.com/en-us/library/bb332338.aspx#msdnwcfhc_topic2
      

  4.   

    web service支持的WCF基本都能支持,新项目最好使用WCF