Я работаю над приложением архитектуры 3tier. В котором A()
метод в 1-м слое вызывает метод B()
во втором слое, который вызывает метод C()
на третьем уровне и в обратной последовательности возвращает ответ.Трассировка в C# для записи трассировки в том же порядке метода вызывается в трехуровневой архитектуре
В каждом методе я использую StringBuilder для создания строковой трассировки выполнения метода и записывает его с использованием библиотеки Microsoft Enterprinse, чтобы в конечном итоге блокировать.
A()
{
string.append("A() method started");
B();
string.append("A() method finished");
}
B()
{
string.append("B() method started");
C();
string.append("B() method finished");
}
C()
{
string.append("C() method started");
some...task;
string.append("C() method finished");
}
то след:
string.append("C() method started");
string.append("C() method finished");
string.append("B() method started");
string.append("B() method finished");
string.append("A() method started");
string.append("A() method finished");
, который находится в обратном порядке. Но я хочу
string.append("A() method started");
string.append("B() method started");
string.append("C() method started");
string.append("C() method finished");
string.append("B() method finished");
string.append("A() method finished");
Так что это лучший способ или любая библиотека, чтобы сделать то же самое. Мне предлагалось использовать подход перехватчика.