zoukankan      html  css  js  c++  java
  • 搭建一个简单的WCF hellohello

    一个简单的WCF


     项目程序结构:

    Client:客户端控制台应用程序,主要调用WCF服务为主

    web:WCF服务寄宿宿主

    Service:服务,实现契约

    Service.Interface:契约,定义服务接口,向外提供方法

    此项目WCF服务寄宿以IIS为主,主要实现功能是通过WCF实现用户名验证功能,下面看下web程序中的配置文件(web.config)的内容

      <system.serviceModel>
        <bindings>
          <wsHttpBinding>
            <binding>
              <security mode="None"></security>//关闭安全
            </binding>
          </wsHttpBinding>
        </bindings>
        <behaviors>
          <serviceBehaviors>
            <behavior name="data">
              <serviceMetadata httpGetEnabled="true" />//在实际实际开发中设置为fasle避免用户直接查看服务的内容
              <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
            <behavior name="">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <services>//定义服务
          <service name="Service.LoginDAL" behaviorConfiguration="data">
            <endpoint contract="Service.Interface.ILoginDAL" binding="wsHttpBinding"/>
          </service>
      </services> <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/> </system.serviceModel>

     以上配置文件,只是纯粹的实现WCF服务,不包含权限判断,安全信息,通道等相关内容。

    知识点如下:

    <service>定义服务,该标签存在于<services>下,通常是一个<service>对应一个契约,介绍下其属性:

    name:定义名字,指向实现定义契约的类;

    behaviorConfiguration:数据,可自定义名称;

    endpoint:终结点,关键是定义该服务的契约,地址,绑定方式,也就是所谓的ABC原则

    终结点的定义在这里只是最简单的方式,因为是寄宿于IIS中,所以在配置文件就没有再次指出address的内容,查看contract与binding分别对应的则是"契约",

    与wsHttpBinding,监听地址默认为address中定义的地址。绑定方式这里使用的是wshttpbinding,当然你也可以用其他绑定方式等,这里就不在一一列举。

      客户端调用非常简单,在添加服务引用之后我们就可以把服务当成类来使用,注意实例化的时候请调用你的服务名字包含Client的类,具体为什么我们下次再

    说,代码如下

     TestService.TestServiceClient client = new TestService.TestServiceClient();
     string isLogin = client.IsLogin("username").ToString();
    

      

      以上就是一个简单的WCF服务内容,通过WCF提供的客户端测试工具,我们可以测试数据通过返回值进行数据判断,将web发布至IIS后,通过同事的电脑

    也能够正常进行访问。

      好了今天的内容就到这里,由于本人是新手,有不对的地方还请海涵,高手指出大家一起进步

  • 相关阅读:
    VC编程规范
    socket编程FTP客户端demo
    Win7下微软拼音等中文输入法默认英文标点解决办法
    <转载>一般筛法和快速线性筛法求素数
    聚类算法的设计与实现
    面试题集锦_7
    面试题集锦_8
    中点画线算法程序
    HTML解析类 ,让你不使用正则也能轻松获取HTML相关元素 C# .NET
    .NET C# 使用S22.Imap.dll接收邮件 并且指定收取的文件夹的未读邮件,并且更改未读准态
  • 原文地址:https://www.cnblogs.com/doNetTom/p/tom_wcf.html
Copyright © 2011-2022 走看看