我有一个简单的Web服务,具有许多功能。一些功能具有参数。我遇到的问题是,如果用户点击Web服务URL,但未提供参数,则会收到错误消息(缺少参数:searchString。)问题是在执行代码之前引发了此错误,因此我无法捕获或调试。通常,这没什么大不了的,但是我们网络上的扫描仪会收到此错误,并且由于格式不正确,因此它被标记为安全问题。有没有办法处理错误(并抛出我自己的json错误字符串)或将自动生成的错误字符串格式化为json?这是我的代码:
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()>
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")>
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)>
<ToolboxItem(False)>
Public Class GeneralWebServices
Inherits System.Web.Services.WebService
<WebMethod()>
Public Function GetAllMyData(ByVal searchString As String) As String
Dim tokens As List(Of TokenField) = New List(Of TokenField)
'break point on the code above is not hit
Try
'code to create the object tokens.
Return JsonConvert.SerializeObject(tokens)
Catch ex As Exception
Throw
Finally
tokens = Nothing
End Try
End Function
End Class
然后,如果我将浏览器指向https://localhost:44321/GeneralWebServices.asmx/GetAllMyData
我的代码上有一个断点,但从未被击中。它只是在浏览器响应中显示以下错误:缺少参数:searchString。