2009-09-22 7 views
5

Есть ли способ встраивать веб-сервер или другие средства в приложение .NET, чтобы графический интерфейс мог быть представлен в качестве приложения Silverlight? В настоящее время у нас есть приложение, которое является клиентом/сервером. Мы используем сокеты для обмена сообщениями и передачи сообщений туда и обратно. Одна мысль заключалась в том, чтобы переработать это как решение Silverlight. Пользователь просто укажет свой браузер на сервере на конкретном порту и будет подключен.Хостинг Silverlight без IIS

Я мог бы использовать IIS для обслуживания Silverlight (XAML), но надеялся, что есть другой способ сделать это через встраивание веб-сервера или что-то в этом роде.


EDIT - Кроме объяснений:

Мы решили построить новую версию приложения в WPF, но являются новыми для Silverlight & WPF. Традиционно мы бы построили этот тип приложения с помощью службы Windows на сервере и приложения Windows Forms на клиенте, и каждый из них мог бы взаимодействовать через сокеты. Под «этим типом приложения» я имею в виду службу Windows, которая обрабатывает «материал» и клиентское приложение, которое позволяет вам настраивать serivce и просматривать его текущий статус и т. Д. Я думал, что вместо создания уровня сокета и необходимости разбирать сообщения , поскольку они идут туда и обратно между клиентом и сервером, мы могли бы создать приложение Silverlight и попросить пользователя просто подключиться к серверу через свой браузер. Это означало бы, что мне не нужно было устанавливать клиентское приложение (другое, чем Silverlight), и удаляло бы уровень связи. Криплексом является то, что я хотел бы удалить зависимость от сервера, имеющего IIS, и любую конфигурацию, которая может потребоваться для IIS.

Может быть, я смотрю на это все неправильно ... может быть мой «новизну» в WPF/Silverlight/XAML


+0

Если вы запускаете приложение локально в любом случае, почему бы не использовать WPF? Есть ли ограничение на загрузку .NET 3.5 на ваших целевых компьютерах? –

+0

Приложение не запускается локально ... это серверное приложение с настольным клиентом для настройки и мониторинга. –

ответ

4

Silverlight это только стандартный HTML <object> так что он может быть доставлен все, что будет служить HTML. Тем не менее, это похоже на странную архитектуру для решения клиент/сервер. За то, что вы описываете, я смотрел на обоих:

  • Silverlight вне браузера приложения
  • WPF приложение поставляется с помощью ClickOnce
  • Silverlight приложение, которое загружается с веб-сайта, но взаимодействует с вашим существующий бэкэнд с использованием Silverlight's socket support

Можете ли вы объяснить, почему вы ищете создание пользовательского сервера вместо одного из вышеуказанных подходов?

+0

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

+0

Спасибо. Почему вы не хотите запускать IIS? Вы можете разместить приложение Silverlight на любом веб-сервере, если это ОС/лицензирование - Apache и т. Д. –

1

.NET действительно обеспечивает сантехнику, необходимую для реализации HTTP-сервера без крайней сложности ,

Вот такой пример code project.

1

Если я правильно понимаю ваши требования правильно, Silverlight 3 вне браузера приложение даст вам лучшее из обоих миров:

  • легко установить
  • легко вытолкнуть пользователям
  • можно запустить из стартового бара/ярлыка рабочего стола
  • может работать автономно (они называются отключенным), поэтому, если ваш сервер не работает, вы можете легко уведомлять пользователей через локальное приложение, а не просматривать их на онлайн-url SL и получать a 404.
  • локальное хранение
  • легко нажать обновления приложений из
Смежные вопросы