2011-07-15 97 views
0

我有以下的网络的服务,完美的,只要它是从客户端脚本访问工作(JavaScript的,jQuery的)Web服务时,从浏览器直接访问给错误

<%@ 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. 
+1

为什么不加入一个参数的构造函数呢? – olix20

+0

我怀疑我是否会发布这个问题,如果我知道那是什么。 – oshirowanen

+0

VB.NET是如此丑陋.. – algiecas

回答

1

添加参数的构造函数为您的个人

相关问题