Каков наилучший метод удаленного управления / отладки приложения .NET? - PullRequest
3 голосов
/ 25 апреля 2011

Я запускаю приложение VB.NET 24 часа в сутки на выделенной машине.Я хотел бы иметь возможность получать обновления статуса, а также управлять / отлаживать приложение удаленно (т. Е. С другого компьютера через Интернет).

Было бы преимуществом, если бы общение было легким (с точки зрения байтов)отправлено и получено), так что я могу контролировать вещь без необходимости быстрого подключения к интернету.Кроме того, в данный момент я запускаю приложение из среды IDE, потому что есть некоторые необработанные исключения, и таким способом легче отладить.Было бы неплохо, если бы мне не пришлось его компилировать и отлавливать все ошибки.

Какой самый простой способ настроить что-то подобное и что мне нужно знать с точки зрения безопасности?

Буду признателен за любые идеи или указатели для дальнейшего чтения.

Обновление

Чтобы уточнить, какой вклад мне нужно подать заявку - в теории, никто.Если бы все пошло по плану, я бы просто выключил приложение, и чтение какого-то журнала было бы хорошо.Проблема в том, что он нестабилен (в основном потому, что он вызывает веб-сервис, который очень нестабилен и возвращает всевозможные странные вещи), и поэтому, похоже, требует постоянного ввода с моей стороны.

Я думал, чтоЕдинственный способ сделать такую ​​отладку удаленно - перехватить каждую возможную ошибку, прочитать журнал и как-то порекомендовать приложению вести себя правильно в будущем.

Ответы [ 3 ]

2 голосов
/ 25 апреля 2011

Здесь много открытых концов, но вот мои мысли:

Тот факт, что вы запускаете приложение через IDE для отладки, указывает на то, что вы не получаете достаточно отладочной информации, когда приложение умирает. Изучите решение этой проблемы, прежде чем пытаться обойти ее, try / catch -ing в соответствующих местах и ​​зарегистрируйте соответствующую информацию в EventLog . Затем журнал можно прочитать с удаленного компьютера .

Для удаленного мониторинга и управления очень сложно определить, какое решение является самым простым, без дополнительной информации о вашем приложении. Что нужно сделать через интерфейс, какие у вас ограничения доступа, ...?

Исходя из ограниченной информации, я бы предложил написать небольшое веб-приложение для управления вашим приложением - либо встроенное в приложение, либо в виде небольшого сервиса, контролирующего его другими способами. Таким образом, вы извлекаете выгоду из того факта, что веб-методы и настройки безопасности хорошо известны.

Edit: Судя по вашему обновлению, похоже, вы ищете удаленный отладчик .

1 голос
/ 25 апреля 2011

Если вы используете каркас журналирования, такой как log4net или nlog you (что следует делать, если вы ведете логирование), вы можете легко использовать удаленный аппендер.Например, log4net предоставляет удаленного приложения, которое отправляет записи журнала через tcp на удаленный сервер, где вы можете написать небольшое приложение типа сторожевого таймера для мониторинга вашей системы.

Если вам нужно более простое решение, вы можете использовать приложение электронной почты, котороеотправляет вам все ошибки по почте.

1 голос
/ 25 апреля 2011

Хм ... Не думаю, что вам нужно разрабатывать решение ... Это похоже на winapp, работающий на сервере.

Рассматривали ли вы установить teamviewer на целевой машине или просто использовать Windows RDC?

...