zoukankan      html  css  js  c++  java
  • 整理一下思路,探讨WCF(一)

    (前言)

    我们习惯于使用VS2008中WCF的项目模板,于是Server端的创建基本是不用动脑子的。

    又因为我们默认使用的MEX绑定,所以在Client端,我们在VS2008种右击项目,就可以轻松添加Server Reference,这也是不用费脑细胞的。

    VS2008让我们把注意力foucus在业务逻辑上,而模糊了WCF的本质。

    于是我经常犯糊涂,甚至连WCF最基本的概念有时都混淆。

    清理了一下思路,大致有以下几个问题:并附上相应解答。

    (一)傻瓜化WCF

    先给出一个最简单的WCF Demo,Server端使用项目模板自动生成,Client端直接添加对这个Service的引用。代码下载:

    先看项目WcfService3,也就是我们的Service。注意,这是一个WCF Service Application,如图所示:

    image

    它有几个特征:

    1)Service托管在IIS中,当你按下F5的时候,你会发现桌面右下角多了一个icon,对,就在MSN那个icon的左边,这是基于文件的IIS。当然你也可以把这个Service扔到IIS控制台中。

    image

    2)有一个svc。你可以把它当作WebService中的asmx文件。

    3)在Web.config中存在这样的绑定:

    <endpoint address="" binding="wsHttpBinding" contract="WcfService3.IService1">

    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

    其中第一个endpoint是干正事的,而第2个是MEX绑定,用来交换元数据的。

    再看项目ConsoleApplication1,这就是一个Client。

    因为Server中带有MEX绑定,所以,我们在Client中,可以右击ConsoleApplication1项目,选择Add Service Reference,敲入上述Service的地址,如http://localhost:51166/Service1.svc,就可以添加对这个Service的引用了,如下图所示:

    image

    一切运行良好。但是,我要说,VS2008的易操作性,使我们把WCF想得太简单了。

  • 相关阅读:
    springboot整合极光推送实现APP通知
    微信服务商AppID账号与商户号配置和查看
    linux-contos7中安装nginx
    centos 7 安装sql server 2017
    Redis集群高可用
    检查预约业务系统交互时序图
    特殊字符检测
    for循环执行原理
    Web.py报错:OSError: No socket could be created -- (('0.0.0.0', 8080):
    Oracle导出数据中的prompt,set feedback 等是什么意思
  • 原文地址:https://www.cnblogs.com/Jax/p/1588601.html
Copyright © 2011-2022 走看看