2009-07-13 2 views
0

У меня есть решение сделать, и я пинаю его в сообщество stackoverflow.Web vs Windows клиент/серверное приложение

Мне нужно создать приложение, в котором есть один человек, контролирующий таймер и список людей. Этот человек может добавлять людей в список, а также запускать и останавливать таймер.

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

У меня на самом деле это завершено как приложение asp.net 1.1, которое использует сервер sql server 2000. сервер - это веб-интерфейс, который заполняет db всей информацией, а клиенты выполняют постоянный запрос (скрытый фрейм, который постоянно обновляется) для изменений. Я знаю, что это не идеальная ситуация ... следовательно, обновление.

Я собираюсь туда и обратно, на каком пути атаковать это. Я должен придерживаться .Net. Я думаю, что наличие сервера будет WPF-приложением, которое все еще обновляет базу данных с клиентами, используя asp.net w/AJAX, вероятно, будет самым простым, но я читал об использовании WCF и, возможно, это лучшее решение.

Идеи?

Спасибо.

Веб-интерфейс сервера - это просто веб-страница, на которой есть список и таймер. когда пользователь добавляет кого-то в список или нажимает кнопку запуска или остановки таймера, он обновляет базу данных (которую клиенты проводят опрос)

ответ

0

до тех пор, пока вам не нужно какое-либо взаимодействие с рабочим столом, я бы сохранил его как webapp, но переключился с пула клиентов на подход push-сервера (обратный ajax).

Зачем беспокоиться о проблеме распространения программного обеспечения, если вам не нужно.

+0

Я сделал ajax, но никогда не «обратный аякс» ... у вас есть справочные страницы? – Rob

+0

http://www.aaronlerch.com/blog/2007/07/08/creating-comet-applications-with-aspnet/ http://www.codeproject.com/KB/aspnet/CometMultiClient.aspx , но Я никогда не пробовал, обратный аякс по-прежнему находится в моем списке «классных вещей, которые мне нужно проверить в ближайшее время» –

0

Я действительно не вижу проблемы с существующим приложением.

сервер веб-передний конец

Я не совсем понимаю. Не могли бы вы рассказать?

Если вы хотите обновить, вы можете, естественно, заменить свой кадр на ajax, но это не принесет никаких преимуществ.

EDIT: Затем перепишите его с помощью ASP.NET MVC и jQuery. Ваши знания ASP будут полезны для написания просмотров, и некоторые вещи ajax заменят ваш фрейм. Во всяком случае, сейчас эти вещи горячие, поэтому вы будете работать на последнем движке.

+0

Мне нужно обновить, потому что есть и другие изменения, которые я должен реализовать. Наличие всего моего кода, встроенного в asp, делает его почти невозможным для поддержания, поэтому я собираюсь начать все сначала. С тех пор, как я начинаю, возможно, также смоделировать его. Обновит сообщение. – Rob

+0

Тогда ваш «сервер» - это просто еще один «главный» клиент, но сервер находится где-то в другом месте. Это сервер ASP/IIS? Что там установлено? – User

+0

сервер == мастер-клиент. не означает путать проблему .. извините .. – Rob

0

Оформить заказ Щелкните «Один раз», который работает как веб-страница, но вам не нужен опыт веб-программирования, поэтому его Win Forms в Интернете.

0

«Если есть сомнения, отложить решение»
Спросите себя, если я не могу принять решение о клиенте, то, что те вещи, которые я могу сделать?
Например, вы можете выполнить всю реализацию базы данных, возможно создать веб-службу с интерфейсом, который поддерживает добавление в список и начало остановки таймера и объединение списка. На данный момент у вас реализовано немало вещей, и остается только выбрать интерфейс или, возможно, вы захотите создать более одного интерфейса: один веб-сайт и другой с WPF. Это очень просто, просто позвоните в тот же веб-сервис, который уже сделан.

0

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