2011-05-06 412 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. 如果您使用服務參考確定 它已更新