У меня есть следующий веб-сервис, который прекрасно работает, если к нему обращаются из клиентского скрипта (javascript, jquery)
<%@ WebService Language="VB" Class="WebService" %>
Imports System.Web.Script.Services
Imports System.Web.Services
<ScriptService()> _
Public Class WebService
Inherits System.Web.Services.WebService
Public Class Person
Public FirstName As String
Public LastName As String
Public Sub New(ByVal m_FirstName As String, ByVal m_LastName As String)
FirstName = m_FirstName
LastName = m_LastName
End Sub
End Class
<WebMethod()> _
Public Function GetPersons() As List(Of Person)
Dim People As List(Of Person) = New List(Of Person)
People.Add(New Person("firstname_1", "surname_1"))
People.Add(New Person("firstname_2", "surname_2"))
Return People
End Function
End Class
Но почему-то выдает ошибки, если я пытаюсь получить к нему доступ прямо в браузере
http://localhost/webservices/WebService.asmx
http://localhost/webservices/WebService.asmx/GetPersons
для просмотра описания стандартного сервиса веб-сервиса, показывающего все поддерживаемые операции
Я получаю ошибку:
WebService.Person cannot be serialized because it does not have a parameterless constructor.