检查Asmx上的整数值

时间:2013-05-21 08:06:20

标签: asp.net vb.net web-services soap asmx

我的服务上有示例网络方法,

 <WebMethod()> _
Public Function AddThis(ByVal x As Integer, ByVal y As Integer) As Integer

    Dim mySum As Integer

    If Not IsNumeric(x) Then
        Return 0
    End If
    mySum = x + y
    Return mySum

End Function

当我调试它时,突然我犯了x或y值的错误,它给了我一个错误:

System.ArgumentException:无法将gf转换为System.Int32。 参数名称:type ---&gt; System.FormatException:输入字符串的格式不正确。

我尝试检查值:

If Not IsNumeric(x) Then
            Return 0
        End If

但不断收到错误,是否可以在运行服务之前先检查值?

1 个答案:

答案 0 :(得分:1)

在检查“IsNumeric(x)”时,X将始终为数字。 您希望将Integer作为参数,因此在调用AddThis函数时会出现错误。

在调用此函数之前,您必须检查X和Y.或者如果不可能,请使用以下内容:

Public Function AddThis(ByVal x As String, ByVal y As String) As Integer

    Dim mySum As Integer

    If Not IsNumeric(x) Or Not IsNumeric(y) Then
        Return 0
    End If
    mySum = Integer.Parse(x) + Integer.Parse(y)
    Return mySum

End Function