У меня есть System.Web.Services.WebService
, содержащий несколько WebMethods
.Если какой-либо из этих WebMethods
вызывает исключение, я хочу записать значения, переданные этому WebMethod.Я хочу обработать это достаточно общим способом, чтобы я мог использовать один и тот же метод независимо от количества или типа параметров.Я думал, что я войду в сырой JSON, но я не могу определить, как получить к нему доступ.Я искал объект Context.Request (включая свойство InputStream
), но не нашел его.
Вот что я хотел бы сделать:
[WebMethod(EnableSession = true)]
public IEnumerable MyWebMethod(int a, string b)
{
try
{
//do something
}
catch (Exception e)
{
LogException(e, this.Context);
throw;
}
}
//All WebMethods should be able to call LogExceoption regardless of param type/count
protected void LogException(Exception ex, HttpContext context)
{
string parameters = context.Request. //?? i don't know how to get to the JSON
//write exception detail to log
}
Я использую C # с.net Framework 3.5