2011-05-06 125 views
0

在通过一个Silverlight 4应用程序使用WCF服务,我得到这个错误:WCF服务器错误

{System.ServiceModel.CommunicationException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound. at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) at System.Net.Browser ...

它是在一个点的工作,但我做了更新,现在它不工作。我可以通过URL请求服务,并加载帮助页面,我可以检查WSDL。 FireFox确定我得到500内部服务错误,所以我确定这是一个因素,但不知道为什么?

我有用于测试目的在cassini托管的WCF服务。

任何想法?谢谢。

+0

是否有任何实体拥有带枚举的属性?当一个属性被赋值为5时,我经常看到这个失败,这个值在枚举中是未定义的。 – 2011-05-06 04:33:01

回答

2

同时检查您用作方法参数一部分的所有类是否携带[DataContract]和[DataMember]属性。如果所有这些看起来都是有序的,那么可以尝试使用WCF跟踪来查明问题。

打开它是这样的(web.config中):

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

生成的文件可以上双击,它会在跟踪考官(的Visual Studio工具的部分)被打开。查找任何RED部分,这些将导致您发生客户端 - 服务器协商中发生的任何异常。

希望这有助于,欢呼!

+0

是的,谢谢! – 2011-05-06 15:51:38

0

您是否检查过ServiceReferences.ClientConfig文件中的所有端点设置?

0

检查:

  1. 端点地址
  2. DataContract,数据成员,EnumMember端点合同
  3. 数据,你不转让其不存在于枚举
  4. 如果INT枚举 价值 atributes您的数据合同继承 从某些类别检查已知类型 属性
  5. 如果您使用服务参考确定 它已更新