WCF配置文件
因为要上传较大的图片,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配置文件的更多相关文章
- WCF 配置文件(三)
配置文件概述 WCF服务配置是WCF服务编程的主要部分.WCF作为分布式开发的基础框架,在定义服务以及定义消费服务的客户端时,都使用了配置文件的方法.虽然WCF也提供硬编程的方式,通过在代码中直接设置 ...
- [转]使用代码去描述WCF配置文件
转自:使用代码去描述WCF配置文件 在应用程序部署的时候,WCF客户端因为服务器地址的变化,需要修改程序配置文件的地址URL,手动修改很不方便,还会造成错误,所以尽量把描述WCF配置文件的配置使用代码 ...
- WCF配置文件的问题(位置)
引用过了远程的WCF服务,会自动生成配置文件,但是这个配置的位置,尽量放在applicationSettings的前面 刚才测试了,貌似放后面,会报错(执行的时候,这个问题,需要继续试验) (待验证) ...
- WCF配置文件与文件下载之坎坷路
题外话:本以为我会WCF了,精通WCF了,毕竟刚做过一个WCF的项目,不就是写写契约接口,然后实现接口,改下配置.最后用控制台或者服务发布一下,不就能用了.不就是简单ABC吗?不是So Easy吗?做 ...
- WCF 配置文件中的MaxStringContentLength & MaxReceivedMessageSize
中午测试员在测试系统模块时发现无法通过WCF从服务器下载数据,检查配置文件后,建议开发人员修改站点的WEB.CONFIG文件,具体修改对比如下: 旧的: <binding name=" ...
- WCF配置文件详解
今天来看看WCF的配置方法. 上图整理了服务配置过程中所用到的基本的元素,大致的步骤主要是首先要在调用服务的程序集中添加服务的一个引用,然后添加一个service并指定服务的名称.终结点,如果添加了b ...
- 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 ...
- WCF配置文件详解(一)
<?xml version="1.0" encoding="utf-8" ?><configuration> <!-- &l ...
- WCF 配置文件
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.S ...
随机推荐
- 11 款最好 CSS 框架 让你的网站独领风骚
网页设计和发展领域已经成为竞争激烈的虚拟世界.想要在网络的虚拟世界中生存,仅有一堆静止的在线网络应用是远远不够的,网页必须要有很多功能,配以让人无法抗拒的设计.网页编码一定要合适.精确,才能保证不发生 ...
- 实例:怎样使用 Netty 下载文件
本实例主要參考的是官网的examples:点击这里 使用场景:client向Netty请求一个文件,Netty服务端下载指定位置文件到client. 本实例使用的是Http协议,当然,能够通过简单的改 ...
- VB.NET<机房收费系统个人重构版>你都学会了什么(之五)
接着上篇我们说的配置文件,今天我们来说一下接口. 1.UML图 2.三层架构 3.Sqlhelper 4.配置文件 5.接口 6.设计模式 什么是接口呢?我们可以将接口理解为用于沟通的中介的抽象化.可 ...
- [Android学习笔记]ShareSDK的使用
ShareSDK使用方便,集成简单,正式客户端开发人员的首选组件 集成步骤,使用说明见官方文档: http://wiki.sharesdk.cn/Android_快速集成指南 记录: 直接使用官方De ...
- hdu4496 D-City
D-City Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submis ...
- ORA-00376:file x cannot be read at this time
之前出现过机房断电情况,重启数据库后发现出现ORA-00376的错误. 通过查询数据文件状态: SQL> select file_id,online_status from dba_data_f ...
- 10105 - Polynomial Coefficients
描述:杨辉三角与二项式定理 #include <cstdio> int solve(int n,int m) { int sum=1; for(int i=n; i>m; --i) ...
- lua的table库中经常使用的函数
lua提供了一些辅助函数来操作table. 比如,从list中insert和remove元素,对array的元素进行sort.或者concatenate数组中的全部strings.以下就具体地解说这些 ...
- TextKit学习(四)通过boundingRectWithSize:options:attributes:context:计算文本尺寸
之前用Text Kit写Reader的时候,在分页时要计算一段文本的尺寸大小,之前使用了NSString类的sizeWithFont:constrainedToSize:lineBreakMode:方 ...
- drupal form 中图片上传
1.创建url 链接到form $items['qianfeng/add'] = array( 'title' => t('加入信息'), 'page callback' =&g ...