wcf中的几个配置问题
写下来备忘一下。
(1)问题:使用PollingDuplex绑定时,客户端Add Service Reference ,不能生成的客户端配置文件ServiceReference.clientConfig
解决方法: 使用slsvcutil.exe 生成,路径:C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Tools
(2)问题:使用slsvcutil.exe发生StackOverfIowExceation异常
解决方法:在slsvcutil.exe同一目录下创建文件slsvcutil.exe.config文件,添加如下内容
<configuration> <satelliteassemblies> <assembly name=”SISvcUtil, Version=4.0.0.0, Culture=neutral, PubIicKeyToken=b03f5f7f11d50a3a"/> </satelliteassemblies> </configuration>
(3)问题:wcf 超时,10分钟代理关闭
解决方法:同时在客户端和服务端配置InactivityTimeout、ReceiveTimeout默认lOmin,WCF端和Silverlight端是
各自独立的。例如:
服务端Web.Config/App.Config
<pollingDupIexBinding> <binding name=”NewBinding0" maxBufferSize="2147483647" maxBufferPooISize="2147483647" max Rece ived Messages ize="2147483647" transferMode=”Buffered”sendTimeout= "00:02:00" closeTimeout="00:02:00" openTimeout="00:02:00" inactivityTimeout="01:00:00" receiveTimeout="01:00:00"/> </pollingDupIexBinding>
<customBinding> <binding name=”PollingDupIexHttpBinding_ ITaskService" closeTimeout="00:02:00" openTimeout="00:02:00" sendTimeout="00:02:00" receiveTimeout="01:00:00"> <pollingDuplex duplexMode="SingIeMessagePerPoll” inactivityTimeout="01:00:00"/> <binaryMessageEncoding/> <httpTransport maxReceivedMessageSize="2147483647" maxBufferSize= "2147483647"/> </binding> </customBinding>
详细资料下载:wcf笔记