2010-04-21 13 views
0

我有一個web服務,返回我已定義的對象。其中一個屬性是字符串類型,並且包含大量字符......有時超過500個字符。當將相同類型的數據傳遞給webservice時,它將使數據在我的數據庫中出現。當我將數據返回給客戶端時,該屬性每次都會被截斷。我迷路了爲什麼Web服務正在截斷正在返回的對象中的字符串...完全丟失爲什麼

我在哪裏:我返回QueryResultPackage。

Public Class SearchResults 
    Public IssueID As String 
    Public Headline As String 
    Public Further_Description As String 
    Public Notes As String 
    Public OE_Contact As String 
    Public Assigned_To As String 
    Public Type_Of_Test As String 
    Public Bonder_System As String 
    Public Bonder_Subsystem As String 
    Public Part_Number As String 
    Public Revision_Number As String 
    Public Serial_Number As String 
    Public Bonder_Model As String 
    Public Project_Number As String 
    Public Severity As String 
    Public State As String 
End Class 

Public Class QueryResultPackage 
     Public successful As Boolean 
     Public queryResults As List(Of SearchResults) 
     Public errorText As String 
    End Class 

我剛剛發現了一個.Length,它每截取255個字符。

回答

0

那麼我發現它在我使用的ClearQuest API中的功能。由於某些原因,當Access是數據庫時,它會截斷數據。它不應該,但它是。

0

我的第一個猜測是它實際上在數據庫中被截斷了 - 而且Web服務正在從它從數據庫中提取的數據中忠實地回覆。

這是首先要檢查的內容:添加日誌記錄,以便在Web服務返回屬性之前查看屬性中的數據,並將這些數據與客戶端收到的數據進行比較。

+0

如何將日誌記錄添加到Web服務? 我知道數據正在使它到服務器,當我去的Web服務,因爲它在一個Access數據庫和它的所有那裏... – 2010-04-21 20:19:26

+0

值得檢查的另一件事是你是否有字符串中的任何空字符,如果是這樣,它是截斷一個字符串嗎?例如,您無法將其中包含空字符的字符串作爲ASP.NET AJAX中的數據返回,因爲客戶端將在空字符上窒息。 – 2010-04-21 20:20:03

+0

以及我試着只是返回一堆的1之後,但2和3'和4的,他們進入數據庫,但是當我搜索並返回...截斷。 – 2010-04-21 20:25:42

0

我建議檢查Access DB以確保列的字符限制大於255個字符。當你搜索時,你是直接訪問表中的值,還是訪問某種視圖?我認爲這不會有任何影響,但可能會限制視圖內的字符數。

我覺得有趣的是,你說它顯示在數據庫罰款,但回來截斷。 255聽起來太像一個實際的字符限制被忽略。

相關問題