远程服务器返回错误:NotFound

时间:2011-06-03 15:05:48

标签: silverlight wcf

我有WCF服务,服务方法将byte []数组返回给silverlight客户端。 在某些时候,我会在某些时候获得异常,否则它会正常工作。远程服务器返回错误:NotFound。 可能的原因是什么?

 <binding name="plugWeb" closeTimeout="00:01:00" openTimeout="00:01:00"
      receiveTimeout="00:10:00" sendTimeout="00:01:00" maxBufferSize="2147483647"
      maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="128" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="4096" />
    </binding>

我现在改变了<readerQuotas maxDepth="64" >to <readerQuotas maxDepth="128">工作正常。

可以吗?

配置文件中的<readerQuota />是什么?

2 个答案:

答案 0 :(得分:0)

通常,当服务器产生异常,向服务构造函数添加try-catch块以及调用的服务方法并查看所获得的内容时,也会报告此情况。

另一个原因可能是更改了方法签名等,您忘记更新服务参考。

但正如Terry所说,是否有一个代码示例可供您分享,或者至少是重现的步骤或者您最后一次工作后所做的更改?

答案 1 :(得分:0)

对于silverlight来说这是一个非常常见的错误,首先,错误是一个泛型错误,Silverlight应用程序显示任何服务端错误。 现在解决方案,尝试找出此错误的根本原因。 有很多方法可以做到这一点。 以下是我用于我的: 1)将下面的代码添加到wcf服务的配置文件

<system.diagnostics>
<sources>
  <source name="System.ServiceModel"
          switchValue="Information, ActivityTracing"
          propagateActivity="true">
    <listeners>
      <add name="traceListener"
          type="System.Diagnostics.XmlWriterTraceListener"
          initializeData= "D:\Sumit.svclog"/>
    </listeners>
  </source>
</sources>

这将生成一个.svc,分析这个文件它会为你提供很多信息。

2)U可以使用外部工具来分析wcf服务调用,例如fiddler。在这种情况下,还尝试分析服务调用