错误描述:The remote server returned an error: NotFound
可能原因:WCF服务本身对数据包进行了限制,最大不能超过65535,Silverlight发送大数据包到服务器端(例如图片直接存于数据库), WCF返回以上错误。
解决方法:
(1)修改Silverlight端ServiceReferences.ClientConfig文件,增加Buffer 尺寸。 <!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IDataService" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"> <security mode="None" /> </binding> </basicHttpBinding> </bindings>
(2)修改服务器端,在Web.config中添加自定义BasicHttpBinding对象, <!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IDataService" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"> <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647" /> </binding> </basicHttpBinding> </bindings> 另外,在ServiceBehaviors中添加maxItemsInObjectGraph属性 服务器端:web.config < system.serviceModel> < behaviors> < serviceBehaviors> < behavior name= "ExcelServer.Service1Behavior"> <!--name=命名空间(ExcelServer)+类名(Server1)+Bheavior--> < serviceMetadata httpGetEnabled= "true" /> < serviceDebug includeExceptionDetailInFaults= "false" /> < dataContractSerializer maxItemsInObjectGraph= "2147483647" /> < /behavior> < /serviceBehaviors> < /behaviors> < services> < service behaviorConfiguration= "ExcelServer.Service1Behavior" name= "ExcelServer.Service1"> <!--name=命名空间(ExcelServer)+类名(Server1)--> < endpoint address= "" bindingConfiguration= "LargeBuffer" binding= "basicHttpBinding" contract= "ExcelServer.IService1" /> <!--name=命名空间(ExcelServer)+接口(IServer1)--> < /service> < /services> < bindings> < basicHttpBinding> < binding name= "LargeBuffer" maxBufferSize= "2147483647" maxReceivedMessageSize= "2147483647"> <!--name=随意命名--> < readerQuotas maxStringContentLength= "2147483647" maxArrayLength= "2147483647" /> < security mode= "None">< /security> < /binding> < /basicHttpBinding> < /bindings> < /system.serviceModel> < system.webServer> < modules runAllManagedModulesForAllRequests= "true" /> < /system.webServer> 错误2