У меня есть простой веб-сервис с рядом функций.Некоторые из функций имеют параметры.Проблема, с которой я сталкиваюсь, заключается в том, что если пользователь нажимает URL-адрес веб-службы, а параметр не указан, я получаю сообщение об ошибке (отсутствует параметр: searchString.). Проблема заключается в том, что эта ошибка выдается до выполнения моего кода, поэтомуЯ не могу поймать это или отладить.Обычно это не имеет большого значения, но в нашей сети есть сканеры, которые улавливают эту ошибку и, поскольку она плохо отформатирована как json, помечена как проблема безопасности.Есть ли способ либо обработать ошибку (и выбросить мою собственную строку ошибки 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.