2 WCF里面配置的含义

1 首先介绍所谓的a,b,c。

a就是address 地址;

b binding 绑定的协议 譬如http  tcp udp 利用这些协议方式请求address;

c contract  代表请求的规则 要请求的方法 譬如 getData()

2 附上一张wcf 根据配置通信的抽象简图

3 附上一张wcf服务端配置文件的节点结构图

4 代码说明

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" />
  </system.web>
  <!-- 部署服务库项目时,必须将配置文件的内容添加到
 主机的 app.config 文件中。System.Configuration 不支持库的配置文件。 -->
  <!--*******************************************************system.serviceModel WCF配置部分****************************************************************-->
  <system.serviceModel>
    <!--******************Services节点****************-->
    <!--说明 在生成的默认配置文件中 Services节点只有services和behaviors两个子节点,如果要加bindings节点 这个节点也要作为Services的子节点-->
    <!--这个binding限制了协议的超时时间 所以说这个节点可以用来配置好 让 endpoint里面的 b调用-->
    <bindings>
      <basicHttpBinding>
        <binding name="myBasicHttpBinding" openTimeout="00:30:00" sendTimeout="00:30:00">
          <security mode="None"/><!--设置没有安全性-->
        </binding>
      </basicHttpBinding>
    </bindings>

    <services>
      <service name="ServiceLib.Service1">
        <host>
          <baseAddresses>
            <!--<add baseAddress = "http://localhost:8733/Design_Time_Addresses/ServiceLib/Service1/" />被注释的原代码-->
            <!--这是address的基地址-->
            <add baseAddress = "http://localhost:8733/Service" /><!--这段代码是对上面一行的修改-->
          </baseAddresses>
        </host>
        <!-- Service Endpoints -->
        <!-- 除非完全限定,否则地址相对于上面提供的基址-->
        <!--这就是本文第二部分的endpoint  它由本文第一部分的abc组成-->
        <!--address在这里默认为空 真是的地址等于baseAdress+address-->
        <!--basicHttpBinding http协议 contract指定了契约-->
        <endpoint address="" binding="basicHttpBinding"
                  contract="ServiceLib.IService1"
                  bindingConfiguration="myBasicHttpBinding"><!--此处利用了上面的bindings节点-->
          <!--
              部署时,应删除或替换下列标识元素,以反映
             用来运行所部署服务的标识。删除之后,WCF 将
              自动推断相应标识。
          -->
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>
        <!-- Metadata Endpoints -->
        <!-- 元数据交换终结点供相应的服务用于向客户端做自我介绍。 -->
        <!-- 此终结点不使用安全绑定,应在部署前确保其安全或将其删除-->
        <!--通过这个endpoint像客户端公布服务端的信息 契约是IMetadataExchange-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <!--******************Services节点****************-->
    <!--******************behaviors节点****************-->
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- 为避免泄漏元数据信息,
          请在部署前将以下值设置为 false -->
          <!--设置成false 在请求http://localhost:8733/Service 的时候 不能请求http网页的元数据展示-->
          <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
          <!-- 要接收故障异常详细信息以进行调试,
          请将以下值设置为 true。在部署前设置为 false
          以避免泄漏异常信息 -->
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <!--******************behaviors节点****************-->
  </system.serviceModel>
  <!--*******************************************************system.serviceModel WCF配置部分****************************************************************-->
</configuration>

原文地址:https://www.cnblogs.com/wholeworld/p/10068379.html

时间: 2024-11-14 13:21:57

2 WCF里面配置的含义的相关文章

WCF客户端配置以及代理-----基于DDD领域驱动设计的WCF+EF+WPF分层框架(4)

写在最前面:转载请注明出处 目录置顶: 关于项目--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(1) 架构搭建--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(2) WCF服务端具体实现---------基于DDD领域驱动设计的WCF+EF+WPF分层框架(3) WCF客户端配置以及代理-----基于DDD领域驱动设计的WCF+EF+WPF分层框架(4) Domain具体实现------------基于DD

WCF服务配置编辑器使用

学习wcf,特别是初学者,配置文件很难搞懂,有点复杂,自己手动配置哪有这么多精力啊,这不是吃的太饱了吗,所以学会使用配置编辑器是必须的,下面是学习的流程图. 打开工具的wcf服务配置编辑器,点击文件=>打开=>配置文件(找到你项目所在的app.config配置文件),服务是空的,在点击新建服务,浏览找到dll文件单击文件加入服务类型 点击下一步,在点击下一步,默认选择http在下一步,下一步,之后就是下面的页面了,填写好终结点的地址下一步 完成创建之后便是配置好所谓的ABC了,照着下面的配置就

spring调用wcf以及配置过程

原文出自于 http://www.blogjava.net/downmoon/archive/2010/08/24/329786.html 我们看看生成的WSDL 第二步:调用WCF生成的WSDL生成java客户端. 首先,请允许我介绍下axis2,它的官方地址:http://ws.apache.org/axis2/ 这是一个java平台的web service解决方案.我们最常用的是WSDL2Java和Java2WSDL两个功能. 关于Web service的另一个解决方案是xFire,我没试

WCF系列教程之WCF服务配置

简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件的方式,来进行设置,这充分的体现了WCF的伸缩性和自定义性.当然WCF也提供硬编程的方式,通过在代码中直接设置相关对象的属性来完成服务端与客户端的配置,然而这种方式并不利于后期程序的更改和扩展. 1.WCF配置文件结构如下图所示,包含三个部分,services(服务).bindings()

WCF 相关配置

WCF错误:413 Request Entity Too Large 在我们用WCF传输数据的时候,如果启用默认配置,传输的数据量过大,经常会出这个错误. WCF包含服务端与客户端,所以这个错误可能出现在服务端返回数据给客户端,或客户端传数据给服务端时. 1. 服务端返回数据给客户端报错 在客户端配置文件中,主要是配置maxReceivedMessageSize <system.serviceModel> <bindings> <basicHttpBinding> &l

Wcf:可配置的服务调用方式

添加wcf服务引用时,vs.net本来就会帮我们在app.config/web.config里生成各种配置,这没啥好研究的,但本文谈到的配置并不是这个.先看下面的图: 通常,如果采用.NET的WCF技术来架构SOA风格的应用,我们会把项目做一些基本的分层,如上图: 01. contract层:通常定义服务的接口(即服务契约ServiceContract,指明该服务提供了哪些方法可供外部调用).以及接口方法中传输的Model定义(即:数据契约DataContract,指明方法中的对象参数的Clas

WCF学习之旅—WCF服务配置(十四)

一.概述 我们在前面章节中讲了寄宿,在前面的实例中也用到了配置文件,这一篇主要讲讲如何在应用配置文件,提高WCF程序的灵活性.在编写WCF服务应用程序时,编写配置项也是其中一项主要工作,在前面的几个示例中我也使用过配置文件,通过配置文件来简化代码.WCF通过公开终结点,向客户端公开服务,包括服务的地址.服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型等.当我们把这些配置项写入到配置文件后,我们无需编译即可修改WCF的一些可变信息,提高了程序的灵活性. 注意: 1)在代码里写了配置,

LVS负载均衡中arp_ignore和arp_annonuce参数配置的含义

LVS(Linux  Virtual Server)Linux服务器集群系统 针对高可伸缩,高可用服务的需求,给予IP层和内容请求分发的负载均衡调度解决方法,并在Linux的内核中实现,将一组服务器构成一个实现可伸缩,高可用网络服务的虚拟服务器 负载均衡1.大量的兵法访问或数据流量分担到多态节点设备分别处理,减少用户的等待时间2.单个重负载的运算分担到多态节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户 负载调度器一组服务器通过高速的局域网或者地理分布的广域网相互相连,在他们

Hadoop默认配置的含义

5.查错 ================= 1. 权限问题: 在启动的时候,可能会看到一系列 没有访问权限的错误. 打开hadoop-env.sh 注意以下几个被环境变量标注的文件夹的读写权限: 必须有读权限的:HADOOP_CONF_DIR 必须有写权限的:HADOOP_LOG_DIR.HADOOP_SECURE_DN_LOG_DIR.HADOOP_PID_DIR. HADOOP_SECURE_DN_PID_DIR HADOOP_CONF_DIR如果没有读权限,则无法读取配置文件 HADOO