Silverlight 4, вне браузера, печать, автоматические обновления

У меня есть очень важное бизнес-приложение, которое сейчас работает с Winforms.

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

В настоящее время приложение развертывается с помощью Click-once.

Двигаясь вперед, я пытаюсь обдумать, следует ли мне переместить приложение в приложение Silverlight. Пара причин, по которым я думаю о Silverlight.

  1. Дает клиентам ощущение, что это облачное решение.
  2. Доступен с любого ПК. Хотя приложение clickonce тоже может это сделать, они должны установить приложение, и, когда обновления станут доступны, они должны нажать «Да», чтобы обновить.
  3. В настоящее время приложение имеет выпадающий список клиентов, этот список расширился до более чем 3000 записей. Листать список очень болезненно. В Silverlight я думаю об автозаполнении.
  4. Вне браузера - это будет удобно тем пользователям, которые используют приложение ежедневно.

Я ранее не использовал Silverlight, поэтому ищу совета экспертов по нескольким вопросам:

  1. Печать - позволяет ли silverlight отправлять необработанные данные печати на принтер. Приложение печатает на принтере Zebra Thermal для этикеток. Я должен отправить необработанные байты на принтер с командами. Можно ли это сделать с помощью SL или всегда будет выводиться диалоговое окно «Печать»?
  2. Вне браузера - когда приложения SL устанавливаются вне браузера, как проходят обновления, обновляется ли приложение автоматически или пользователю предлагается выбрать обновление?

person minalg    schedule 06.06.2010    source источник
comment
Печать термоэтикеток не должна быть проблемой. Посмотрите это сообщение: neodynamic.wordpress.com/2011/01/03/   -  person ctrlalt313373    schedule 28.01.2013


Ответы (2)


  1. Печать - с помощью API PrintDocument пользователю будет предложено открыть диалоговое окно печати. В настоящее время, используя этот API, невозможно подавить это. Он не идеален для тепловых ситуаций с большими объемами (например, аптеки, склады и т. Д.). Вы могли использовать режим доверенного приложения, заглядывать в COM и делать с принтером все, что захотите.

  2. Обновление происходит по запросу приложения. Существует API, который можно использовать, и после его вызова, если обновление существует, оно загружается - без запроса пользователю в качестве опции. Если обновление найдено, вы можете предупредить пользователя о необходимости перезапуска или о том, что при следующем перезапуске у него будет обновленное приложение.

person Tim Heuer    schedule 07.06.2010

Автозаполнение - это не то, что можно сделать только в Silverlight. Ваше приложение ClickOnce уже находится вне браузера. А печать через необработанные байты на термопринтер - это то, что было бы нелегко спроектировать в Silverlight.

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

person Peter Bromberg    schedule 06.06.2010