2013-04-03 78 views
1

我的WCF服務本地IIS託管。當我從應用程序調用它時,我無法從wcf調用中獲得結果。但奇怪的是,它在調試時(在進入服務類的同時)顯示正確的結果並返回登臺類中的對象數組。當調試進入應用程序時,它返回空數組。我有下面的應用程序調用。WCF服務的Web應用程序沒有返回集合

public List<SurveyQuestion> GetCommonQuestionsForCompentency() 
    { 
     List<SurveyQuestion> questions = new List<SurveyQuestion>(); 
     SurveyQuestion[] ques = null; 
     ICSSService.SurveyServiceClient client = null; 
     try 
     { 
      client = (SurveyServiceClient)WCFSecurityEntityForSurvey.getSurveyClient(); 
      ques = client.GetCommonQuestionsByCategoryType(2); 
      questions = ques.ToList<SurveyQuestion>(); 
      return questions; 
     } 
     catch (Exception) 
     { 
      throw; 
     } 
     finally{ client.Close();} 
    } 

在調用WCF服務類圖所示

enter image description here

請告訴我與執行腳麻。任何幫助?

編輯:

它正在爲沒有列表的簡單服務調用。我認爲這個問題可能在收集的迴歸中。我發現了類似的問題Here。但沒有從這個得到很多。

+0

在調試你檢查的變量在即時窗口或快速查看窗口的時間?另外,還要檢查應用程序的調試模式是否是,它是不是在釋放模式。(配置管理器) – pordi

+0

是有標籤'<編譯調試=「真」 targetFramework =「4.0」 />'在web.config中 –

+0

的問題與它返回的行數有關。我曾經有過這個確切的問題。嘗試限制查詢一定數量的行,然後嘗試..就像rownum <1000 ..這有助於我的情況。顯然這不是正確的實現方式,但它會給你一個清晰的認識,即是否由於查詢返回的數據而發生這種情況。請嘗試讓我知道。 – pordi

回答

1

我也有類似的問題,this.This是因爲引用不正確添加和我修改reference.cs文件。因此,如果應用程序中的名稱空間不同,那麼數據不能正確獲取。只需檢查應用程序中的命名空間。看看在你的應用程序類的一個有不同的命名空間比其他

+0

謝謝你,這真的幫助我 –

0

所有你需要做的就是添加一個完成的功能,然後將網格數據源補充。

在頁面加載

添加

AddHandler client.GetEndorsementCompleted, AddressOf GetEndorsement 

然後添加以下功能讓異步函數命中。

私人小組GetEndorsement(BYVAL發件人爲對象,BYVALË作爲 SR.GetEndorsementCompletedEventArgs) 如果不e.Result.Equals(沒有),然後

 'Data grid binding 

    End If 
End Sub 

在C#中,你可以的情況下使用此link從代碼項目演示

相關問題