一、服务端配置文件

主要包括

1、services

配置服务节点
 <!--name 指的是契约实现类-->
<service name="WcfLib.User2" behaviorConfiguration="mexBehaviour">
<host>
<baseAddresses>
<!--指定默认地址-->
<add baseAddress="http://localhost:6666/"/>
</baseAddresses>
</host>
<!--address不填写则用默认值 baseaddress,如果填写而且baseaddress有值 则两者拼接 http://localhost:6666/MyServices2,如果baseaddress没有则用address-->
<!--binding通讯格式 一共九种,对应的地址格式也不一样,复杂配置还需要参看文档-->
<!--contract 契约-->
<endpoint address="MyServices2" binding="basicHttpBinding" contract="WcfLib.IUser2">
<!-- 用户定义的xml元素集合,一般用作SOAP的header内容-->
<headers>
<a></a>
<b></b>
<c></c>
<d></d>
</headers>
<!--身份认证用 作者也没用过-->
<identity>
<dns/>
</identity>
</endpoint>
<!--元数据节点 即使关闭元数据,这个节点也可以把元数据暴露出去。-->
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
</service>

2、behaviors

  定义behavior就可以设置服务的运行时属性。

  分为服务行为和端点行为。

  对象实例的生命周期、 并发与异步处理、 配置行为 事务行为、 序列化行为、 元数据转换、 会话的生命周期、 地址过滤以及消息头的处理、 模拟(Impersonation);

  2.1、服务行为

    元数据暴露等等

<serviceBehaviors>
<behavior name="mexBehaviour">
<!-- 为避免泄漏元数据信息,
请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
<!--设置未false被人不能发现,一般当客户端已经加载好服务代理就可以设置为false了。配置修改,服务要重启,才能生效-->
<serviceMetadata httpGetEnabled="true" /> <!--服务终结点的可发现性-->
<serviceDiscovery>
<!--指定用于公开服务的服务终结点的绑定、协定和地址属性。-->
<announcementEndpoints>
<!--<endpoint address="" name="" binding="" contract=""></endpoint>-->
</announcementEndpoints>
</serviceDiscovery>
<!--在WCF的使用过程中,有时会碰到传递的数据量比较巨大,客户端程序报错。常见的解决方法就是通过增大改变服务端与客户端配置文件serviceBehaviors的dataContractSerializer 的maxItemsInObjectGraph属性-->
<!--<dataContractSerializer maxItemsInObjectGraph="" ignoreExtensionDataObject="" />-->
</behavior>
</serviceBehaviors>

  2.2、端点行为

    具体方法回调,等等(笔者也没有具体研究)

<endpointBehaviors>
<behavior> </behavior>
</endpointBehaviors>

3、bindings

  传输格式描述

<!--描述具体绑定操作 传输编码  形式  kookie  内容大小 等-->
<bindings>
<basicHttpBinding>
<binding name="basic" maxReceivedMessageSize="" transferMode="Streamed" messageEncoding="Text" allowCookies="false"></binding>
</basicHttpBinding>
<netTcpBinding>
</netTcpBinding>
<customBinding>
<!--自定义绑定,貌似只有一些超时操作-->
<!--<binding openTimeout="" closeTimeout="" receiveTimeout="" sendTimeout="" name=""></binding>-->
</customBinding>
</bindings>

二、客户端配置文件

<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IUser1" />
<binding name="BasicHttpBinding_IUser2" />
<binding name="BasicHttpBinding_IUnity1" />
</basicHttpBinding>
<netTcpBinding>
<binding name="NetTcpBinding_IUnity2" />
</netTcpBinding>
</bindings>
<behaviors> </behaviors>
<client>
<endpoint address="http://localhost:9999/MyServices1" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IUser1" contract="WCFServiceUser1.IUser1"
name="BasicHttpBinding_IUser1" />
<endpoint address="http://localhost:6666/MyServices2" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IUser2" contract="WCFServiceUser2.IUser2"
name="BasicHttpBinding_IUser2" />
<endpoint address="http://localhost:7777/MyServices3" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IUnity1" contract="WCFServiceUnity.IUnity1"
name="BasicHttpBinding_IUnity1" />
<endpoint address="net.tcp://localhost:7776/MyServices4" binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IUnity2" contract="WCFServiceUnity.IUnity2"
name="NetTcpBinding_IUnity2">
</endpoint>
</client>

自动生成,不在具体描述。

三、通过工具配置  配置文件

  1、没有配置文件的情况,

文件-->新建服务

新建服务

浏览已经生成好的wcf类库dll,加载进去。然后配置。配置完成后,保存生成app.config文件。

  2、已经存在配置文件的情况,直接打开

四、代理代码生成工具

  1、添加外部工具

  工具-->外部工具-->添加

初始目录:是指代理类以及配置文件生成的目录,  可以在点击后面的三角图标按钮选择,不同的生成位置。

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\SvcUtil.exe(根据自己安装的类库任意选择)

知道简单配置就可以了,具体的实际中查询配置文档

推荐: https://msdn.microsoft.com/zh-cn/library/ms731354(v=vs.110).aspx

    http://www.cnblogs.com/yank/p/3668371.html

    http://www.cnblogs.com/wayfarer/archive/2007/08/24/867987.html

WCF-简单 配置文件的更多相关文章

  1. WCF中配置文件解析

    WCF中配置文件解析[1] 2014-06-14 WCF中配置文件解析 参考 WCF中配置文件解析 返回 在WCF Service Configuration Editor的使用中,我们通过配置工具自 ...

  2. WCF简单使用(分别部署在控制台和IIS上)

    WCF部署到控制台 1.下面通过一个简单的服务示例来认识WCF1.新建项目,名称IBLL,解决方案名称WcfDemo,模板选择类库2.修改Class1.cs文件名称为 IUserInfoService ...

  3. WCF 简单示例

    WCF(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包(Software Development Kit,SDK).WC ...

  4. WCF简单教程

    WCF是DotNet体系中很重要的一项技术,但是组内很多组员通过书籍自学的时候 感觉涉及面太广.配置文件太复杂,新名词太多.抓不到头绪,有感于此,决定进行一次组内技术培训,顺便把培训讲义整理到blog ...

  5. .net WCF简单实例

    最近看到网上招聘有许多都需要WCF技术的人员,我之前一直没接触过这个东西,以后工作中难免会遇到,所谓笨鸟先飞,于是我就一探究竟,便有了这边文章.由于是初学WCF没有深入研究其原理,只是写了一个demo ...

  6. WCF简单Demo

    WCF,光看书的原理,稍微有点枯燥,通过自己动手,会更容易理解契约声明,面向服务,分布式等概念. 1.创建WCF服务. 2.WcfService1.CS中声明新的契约. namespace WcfSe ...

  7. WCF入门教程四[WCF的配置文件]

    一.概述 配置也是WCF编程中的主要组成部分.在 以往的.net应用程序中,我们会把DBConn和一些动态加载类及变量写在配置文件里.但WCF有所不同.他指定向客户端公开的服务,包括服务的地址. 服务 ...

  8. C 构造一个 简单配置文件读取库

    前言 最近看到这篇文章, json引擎性能对比报告 http://www.oschina.net/news/61942/cpp-json-compare?utm_source=tuicool 感觉技术 ...

  9. Wcf 之 配置文件解析

    在WCF Service Configuration Editor的使用中,我们通过配置工具自动生成了WCF服务端的config文件.现在我们来看下这个配置文件各个标签的意义(解释在下面xml文件中的 ...

  10. 自定义WCF的配置文件

    原文地址:http://www.cnblogs.com/shanyou/archive/2008/12/02/1346298.html WCF的承载既可以通过编码实现,也能够通过配置实现.而且使用配置 ...

随机推荐

  1. python一些实用的小工具

    1  搭一个简易的本地局域网  python -m http.server 2 获取当前目录下的所有文件名 3 进度条效果 import sys,time for i in range(50): sy ...

  2. PHP 之源代码加密与解密,加密后可直接运行

    方式一: <?php /** * Created by PhpStorm. * User: Yang * Date: 2019/10/16 * Time: 10:25 */ class Enci ...

  3. Apache Flink - Component Stack

    作为一个软件堆栈,Flink是一个分层的系统.堆栈的不同层构建在彼此之上,并提高程序表示的抽象级别: 在runtime层以JobGraph的形式接受一个程序.JobGraph是一个通用的并行数据流,包 ...

  4. M有SQL删除数据库提示Error dropping database (can't rmdir './db_test', errno: 39)

    1.执行ps aux | grep mysql,查看mysql的data目录,比如结果是--datadir=/var/lib/mysql.2.进入data目录,删除以该数据库为名字的文件夹.cd /v ...

  5. 十一月百度杯pwnme 详细wp

    目录 程序基本信息 程序溢出点 整体思路 exp脚本 成功获得flag 参考 程序基本信息 可以看到开启了栈不可执行和got表不可写保护. 程序溢出点 在函数sub_400AF7中,v8可以读入0x1 ...

  6. P5662 纪念品

    P5662 纪念品 题解 拿到题目想到DP,但是就是不知道咋写 后来证实这是个背包DP(最近整理背包白整了 我们观察这道题目的特殊之处: 也就是说,对于手中的物品,我们可以今天买了然后明天早上接着卖出 ...

  7. SQL-W3School-函数:SQL AVG() 函数

    ylbtech-SQL-W3School-函数:SQL AVG() 函数 1.返回顶部 1. 定义和用法 AVG 函数返回数值列的平均值.NULL 值不包括在计算中. SQL AVG() 语法 SEL ...

  8. Spring Boot属性配置&自定义属性配置

    一.修改默认配置 例1.spring boot 开发web应用的时候,默认tomcat的启动端口为8080,如果需要修改默认的端口,则需要在application.properties 添加以下记录: ...

  9. PCA与LDA

  10. ES6深入浅出-1 新版变量声明:let 和 const-3.视频 相关面试题

    执行顺序问题 请问console.log输出的值是多少 输出的肯定是1 假如这里有一行未知的代码 会打印出几? 如果这段未知的代码是a=2.那么其实console输出的就是2 只关心代码,没有关心代码 ...