我正在努力解决我的问题。
这是我的服务合约(IService1.vb)
<OperationContract()> _
<WebInvoke(Method:="GET", BodyStyle:=WebMessageBodyStyle.Wrapped, ResponseFormat:=WebMessageFormat.Json, UriTemplate:="/GetBooks")> _
Function GetBooks() As List(Of Book)
<DataContract()> _
Class Book
Public Property bookchapter() As List(Of Chapter)
Get
Return m_bookchapter
End Get
Set(value As List(Of Chapter))
m_bookchapter = value
End Set
End Property
Private m_bookchapter As List(Of Chapter)
Public Property success() As Integer
Get
Return m_success
End Get
Set(value As Integer)
m_success = value
End Set
End Property
Private m_success As Integer
End Class
<DataContract()> _
Class Chapter
Public Property description() As String
Get
Return m_description
End Get
Set(value As String)
m_description = value
End Set
End Property
Private m_description As String
End Class
这是我的服务(Service1.vb)
Public Function GetBooks() As List(Of IGPService.Book) Implements IGPService.GetBooks
Dim books As New List(Of IGPService.Book)
Dim newBook As IGPService.Book = New IGPService.Book
For i As Integer = 0 To 3
Dim newchapter As IGPService.Chapter = New IGPService.Chapter
newchapter.description = "Chapter1"
newBook.bookchapter.Add(newchapter)
Next
newBook.success = 1
books.Add(newBook)
Return books
End Function
当我调用GetBooks时,我收到以下错误:
服务器在处理请求时遇到错误。见服务器 记录更多详细信息。
我不知道这里有什么问题。我在Windows EventLog中找不到任何东西。
答案 0 :(得分:0)
我在Book Class中添加了一个New()Contructor,现在它可以工作了。但我不知道为什么!
Class Book
Public Property bookchapter() As List(Of Chapter)
Get
Return m_bookchapter
End Get
Set(value As List(Of Chapter))
m_bookchapter = value
End Set
End Property
Private m_bookchapter As List(Of Chapter)
Public Property success() As Integer
Get
Return m_success
End Get
Set(value As Integer)
m_success = value
End Set
End Property
Private m_success As Integer
**Public Sub New()
bookchapter = New List(Of Chapter)
End Sub**
End Class
我想明白为什么会这样。有人可以解释我与New()的区别吗?