2012-08-30 92 views
0

喜當我調用我的web服務,它返回我:爲什麼Web服務返回值爲空?

<?xml version="1.0" encoding="UTF-8"?> 
    -<ArrayOfAnyType xmlns="http://localhost:5669/TAWebService.asmx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
</ArrayOfAnyType> 

任何想法可能是錯誤的?當我從我的winapp調用它時,它返回null!但是在我開發web服務的網站中,它工作正確,並返回對象!

這裏是linqtosql查詢我使用的檢索對象:

[WebMethod] 
public Object[] getPersonnel(string hashCode) 
{ 
    Personnel personnel = new Personnel(); 
    Object[] objReturn = new Object[10]; 
    try 
    { 
     db = new TimeAttendanceDataBaseDataContext(); 
     personnel = db.Personnels.FirstOrDefault(x => x.HashRecord == hashCode.Substring(0,10)); 
     objReturn[0] = personnel.ID; 
     objReturn[1] = personnel.UserName; 
     objReturn[2] = personnel.Password; 
     objReturn[3] = personnel.FirstName; 
     objReturn[4] = personnel.LastName; 
     objReturn[5] = personnel.Mobile; 
     objReturn[6] = personnel.Email; 
     objReturn[7] = personnel.HashRecord; 
     objReturn[8] = personnel.AccessLevel; 
     objReturn[9] = personnel.PersonnelCode; 
    } 
    catch 
    { 
     objReturn[0] = null; 
     objReturn[1] = null; 
     objReturn[2] = null; 
     objReturn[3] = null; 
     objReturn[4] = null; 
     objReturn[5] = null; 
     objReturn[6] = null; 
     objReturn[7] = null; 
     objReturn[8] = null; 
     objReturn[9] = null; 

    } 
    return objReturn; 
} 
+0

它看起來像你'捕獲異常並返回一個包含10個'null對象'的數組。 – bluevector

+3

可能會發生異常?並且你在捕獲中返回null –

+0

發佈配置 – Erix

回答

0

一個很好的選擇,我得到了answear,問題是,我有我的應用程序池切換到本地系統中的IIS和我可以通過我的其他應用程序登錄到Web服務

2

一個例外是您try塊內發生的事情。在那裏設置一個斷點來調試代碼,以查看錯誤。可能hashcode爲空或長度低於10?或db.Personnels.FirstOrDefault(...)正在返回null

作爲一個方面說明,如果您實施一些日誌記錄邏輯,以便在實時環境中更輕鬆地進行故障診斷,那將是一件好事。 Log4net是這個

相關問題