Ситуация такая. У меня есть приложение веб-службы asp.net ... скажем, страница называется api.asmx
В коде позади у меня есть несколько методов, например:
[WebMethod(Description="Method1")]
public int GetSomething(int num1, int num2){
try{
return SomeObject.DatabaseCall.DoSomething(num1, num2);
}
catch(Exception ex){
object[] pars = new object[] { num1, num2 };
LogError("GetSomething", pars, ex);
}
}
[WebMethod(Description="Method2")]
public int GetSomething2(string w, string j, int f){
try{
return AnotherObject.DoSomething(w, j, f);
}
catch(Exception ex){
object[] pars = new object[] { w, j, f };
LogError("GetSomething2", pars, ex);
}
}
Конечно, это всего лишь два простых примера, где, если возникает исключение, я могу записать вызов метода и переданные параметры.
Есть ли другой способ сделать это? Есть ли способ, которым я могу извлечь вызываемый метод и / или параметры. Я думаю, я надеюсь, что кто-то скажет мне, что у меня может быть какая-то функция вроде:
LogError(ex);
И в рамках этой функции я могу получить доступ к некоторым переменным сервера или среды, которые будут представлять вызываемый метод. Может быть, что-то вроде свойства CurrentContext.WebServiceCall.Magic ... Нужно ли мне обернуть все мои вызовы в try / catch, а затем ввести имя и параметры метода или есть другой способ доступа к этой информации.
Надеюсь, этот вопрос не слишком глупый.