public static void MyFunction(MyErrorClass err)
{
var query = from filter in DataContext.ErrorFilters select filter;
query = query.Where(f => err.ErrorMessage.Contains(f.ErrorMessage));
List<ErrorFilter> filters = query.ToList();
//...more code
}
Итак, у меня возникли некоторые проблемы с приведенным выше кодом, и я получаю сообщение об ошибке из строки темы в строке с query.ToList()
. Вот что я пытаюсь сделать:
Во-первых, у меня есть собственный класс ошибок, MyErrorClass
. Всякий раз, когда происходит ошибка на моем сайте, я создаю объект MyErrorClass
из исключения, сохраняю все данные из исключения в этом объекте и сохраняю информацию в базе данных.
Одним из свойств исключения, которое я отслеживаю, является сообщение об ошибке (ErrorMessage
). У меня есть таблица ErrorFilters
, настроенная в базе данных, где пользователь может фильтровать ошибки на основе ErrorMessage
. Допустим, вы получаете кучу ошибок, которые говорят «System.Data.SqlClient.SqlException: Timeout expired. Период ожидания истек до завершения операции или сервер не отвечает», и вы хотите их игнорировать. Вы просто добавляете фильтр в базу данных с сообщением ErrorMessage как «истекло время ожидания» и устанавливаете его игнорируемым.
Теперь мой класс выше настроен так, чтобы принимать ошибку и решать, следует ли отфильтровать ошибку. Я пытаюсь получить список всех фильтров, которые имеют ErrorMessage
, совпадающий с ошибкой.
Я уверен, что это легко исправить, я просто не знаю, как это исправить.