Web Service正在截断正在返回的对象中的字符串...完全丢失了原因

时间:2010-04-21 20:06:51

标签: .net vb.net web-services

我有一个web服务,它返回我定义的对象。其中一个属性是字符串类型,并且包含大量字符...有时超过500个。将相同类型的数据传递给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个字符。

3 个答案:

答案 0 :(得分:0)

我的第一个猜测是它实际上在数据库中被截断 - 而且Web服务正在忠实地回复从数据库中提取的数据。

首先要检查的是:添加日志记录,这样您就可以在Web服务返回之前查看属性中的数据,并将这些数据与客户端收到的数据进行比较。

答案 1 :(得分:0)

我建议检查Access DB以确保列的字符限制大于255个字符。当您搜索时,您是否直接访问该表,或者您是否正在访问某种视图?我认为这没有任何影响,但可能存在限制视图中字符数的限制。

我觉得有趣的是你说它在数据库中显示得很好,但又被截断了。 255声音太像实际的字符限制被忽略。

答案 2 :(得分:0)

好吧,我发现它在我的ClearQuest API中使用的功能。出于某种原因,当Access是数据库时,它会截断数据。它不应该,但确实如此。