因为要上传较大的图片,WCF传递数组的默认的最大数组16KB就不够了。以下讲解配置内容。

服务端配置

这里一个WCF项目中有1个服务,配置文件如下(位于system.serviceModel标签中):

<behaviors>
<serviceBehaviors>
<behavior name="MyBehavior">
<!– 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 –>
<serviceMetadata httpGetEnabled="true" />
<!– 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 –>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors> <services>
<!– The name of the service –>
<service name="OnlineShopService.Service.ProductService" behaviorConfiguration="MyBehavior">
<endpoint binding="basicHttpBinding" bindingConfiguration="higherMessageSize" contract ="OnlineShopService.Service.IProductService">
</endpoint>
</service>
</services> <bindings>
<basicHttpBinding>
<binding name="higherMessageSize" maxReceivedMessageSize ="6553600″>"
<readerQuotas maxDepth="32″" maxStringContentLength="8192″" maxArrayLength="1638400″" maxBytesPerRead="4096″" maxNameTableCharCount="16384″ />"
</binding>
</basicHttpBinding>
</bindings>

本来用默认配置的话这些都不用写了,但因为ProductService这个服务要扩大一下数据流大小限制,发现其它两个服务也不能不写了,只得把它们也配置出来。

service标签中的name是服务类的完全限定名称,包括命名空间、类名。behaviorConfiguration也要配。service中的endpoint若使用默认配置,就不需要配bindingConfiguration属性了。注意,这里bindingConfiguration的配置是对应下面bindings标签的内容的。contract是服务类继承的接口。

bindings标签中的内容凭借名字可以明白意思,就不需要赘述了。详见使用配置文件配置服务

客户端配置

客户端的配置再添加对服务的引用后便会自动生成默认的。这里将ProductService这个服务修改如下:

<binding name="BasicHttpBinding_IProductService" closeTimeout="00:01:00″" openTimeout="00:01:00″" receiveTimeout="00:10:00″" sendTimeout="00:01:00″" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="6553600" maxBufferPoolSize="524288″" maxReceivedMessageSize="6553600" messageEncoding="Text" textEncoding="utf-8″" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32″" maxStringContentLength="8192″" maxArrayLength="1638400" maxBytesPerRead="4096″" maxNameTableCharCount="16384″ />"
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>

下划线是修改的地方,只是加了两个0.

WCF配置文件的更多相关文章

  1. WCF 配置文件(三)

    配置文件概述 WCF服务配置是WCF服务编程的主要部分.WCF作为分布式开发的基础框架,在定义服务以及定义消费服务的客户端时,都使用了配置文件的方法.虽然WCF也提供硬编程的方式,通过在代码中直接设置 ...

  2. [转]使用代码去描述WCF配置文件

    转自:使用代码去描述WCF配置文件 在应用程序部署的时候,WCF客户端因为服务器地址的变化,需要修改程序配置文件的地址URL,手动修改很不方便,还会造成错误,所以尽量把描述WCF配置文件的配置使用代码 ...

  3. WCF配置文件的问题(位置)

    引用过了远程的WCF服务,会自动生成配置文件,但是这个配置的位置,尽量放在applicationSettings的前面 刚才测试了,貌似放后面,会报错(执行的时候,这个问题,需要继续试验) (待验证) ...

  4. WCF配置文件与文件下载之坎坷路

    题外话:本以为我会WCF了,精通WCF了,毕竟刚做过一个WCF的项目,不就是写写契约接口,然后实现接口,改下配置.最后用控制台或者服务发布一下,不就能用了.不就是简单ABC吗?不是So Easy吗?做 ...

  5. WCF 配置文件中的MaxStringContentLength & MaxReceivedMessageSize

    中午测试员在测试系统模块时发现无法通过WCF从服务器下载数据,检查配置文件后,建议开发人员修改站点的WEB.CONFIG文件,具体修改对比如下: 旧的: <binding name=" ...

  6. WCF配置文件详解

    今天来看看WCF的配置方法. 上图整理了服务配置过程中所用到的基本的元素,大致的步骤主要是首先要在调用服务的程序集中添加服务的一个引用,然后添加一个service并指定服务的名称.终结点,如果添加了b ...

  7. WCF配置文件详解 【转】

    ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...

  8. WCF配置文件详解(一)

    <?xml version="1.0" encoding="utf-8" ?><configuration>    <!-- &l ...

  9. WCF 配置文件

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

随机推荐

  1. 怎样高速正确的安装 Ruby, Rails 执行环境

    对于新入门的开发人员,怎样安装 Ruby, Ruby Gems 和 Rails 的执行环境可能会是个问题,本页主要介绍怎样用一条靠谱的路子高速安装 Ruby 开发环境. 次安装方法相同适用于产品环境! ...

  2. delphi 精要-读书笔记(内存分配释放)

    delphi 精要-读书笔记(内存分配释放)     1.内存分为三个区域:全局变量区,栈区,堆区 全局变量区:专门存放全局变量 栈区:分配在栈上的变量可被栈管理器自动释放 堆区:堆上的变量内存必须人 ...

  3. Windbg 32位版本和64位版本的选择

    习惯了Vsiual Studio的兄弟们可能会因为先入为主的原因以为所有的调试器都应该像它那样,其实不然,当你安装Debugging Tools for Windows的时候,你将发现有两个系列的工具 ...

  4. 4.锁--无锁编程以及CAS

    无锁编程以及CAS 无锁编程 / lock-free / 非堵塞同步 无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被堵塞的情况下实现变量的同步,所以也叫非堵塞同步(Non-b ...

  5. POJ 2991 Crane(线段树+计算几何)

    POJ 2991 Crane 题目链接 题意:给定一个垂直的挖掘机臂.有n段,如今每次操作能够旋转一个位置,把[s, s + 1]专程a度,每次旋转后要输出第n个位置的坐标 思路:线段树.把每一段当成 ...

  6. XCode所有版本

    You can find the DMGs for Xcode and other development tools onhttps://developer.apple.com/downloads/ ...

  7. 【机器学习】SVM核函数

    知识预备 1. 回顾:logistic回归出发,引出了SVM,即支持向量机[续]. 2.  Mercer定理:如果函数K是上的映射(也就是从两个n维向量映射到实数域).那么如果K是一个有效核函数(也称 ...

  8. 分布式发布订阅消息系统Kafka

    高吞吐量的分布式发布订阅消息系统Kafka--安装及测试   一.Kafka概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览, ...

  9. 开玩笑Web它servlet(五岁以下儿童)---- 如何解决servlet线程安全问题

    servlet默认值是安全线的存在,但说白,servlet安全线实际上是一个多线程线程安全问题.因为servlet它正好是一个多线程的安全问题出现. 每次通过浏览器http同意提交请求,将一个实例se ...

  10. 【 D3.js 入门系列 --- 8 】 对话操作(事件)

    本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 这一节介绍怎样进行对话的操作,如鼠标单击,鼠标滑过等. 对一个被 ...