#c#
#c#
Вопрос:
у меня есть TCP-клиент-серверное приложение, написанное на C #. Мое приложение запускает множество клиентских подключений TCP и одновременно передает данные с удаленных серверов. Поскольку он начинает выполнять операцию одновременно, появляется много удобных для пользователя сообщений для отображения. В настоящее время я показываю эти сообщения в своем приложении в richtextbox. Но это замедляет производительность. Я ищу лучший способ отображения этих сообщений, чтобы мое приложение могло работать лучше. Можете ли вы поделиться какими-либо идеями? Спасибо.
Ответ №1:
Хороший подход заключается в использовании библиотеки ведения журнала, такой как log4net, для всего вашего приложения.
Это позволяет настроить несколько приложений журнала, которые можно использовать для фильтрации желаемых уровней сообщений журнала от некоторых или всех регистраторов в разные целевые объекты (консоль, файл журнала, текстовое поле или любой другой элемент управления). Если вы считаете, что уровень ведения журнала слишком детализирован для определенной цели, вы можете легко отключить его, изменив файл конфигурации приложения.
Вам нужно будет создать пользовательское приложение, если вы не хотите использовать предварительно настроенные, но есть примеры того, как это сделать:
Ответ №2:
Серверами должны быть службы Windows, а не приложения winform.
Запись в файл журнала с использованием существующей платформы, такой как nlog.
Ответ №3:
Если сообщений так много, вы уверены, что действительно хотите показать их все? Зачем беспокоить пользователя сотнями сообщений? Не лучше ли записать их в файл журнала?
Комментарии:
1. Да, я думаю, что это лучший способ сохранять сообщения в виде файла журнала. И стратегией ведения журнала может быть log4net или nlog.
Ответ №4:
Вы можете попробовать отобразить эту информацию в «Консоли» с помощью Console.Write(info);