【发布时间】:2011-10-06 02:37:14
【问题描述】:
我有以下网络服务,只要从客户端脚本(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
查看显示所有支持的操作的标准 Web 服务服务描述
我得到的错误是:
WebService.Person cannot be serialized because it does not have a parameterless constructor.
【问题讨论】:
-
那为什么不添加无参数构造函数呢?
-
如果我知道那是什么,我怀疑我会发布这个问题。
标签: .net asp.net vb.net .net-3.5 asmx