Какая корпоративная среда наиболее враждебна для развертывания приложения .NET WinForms?

StackOverflow https://stackoverflow.com/questions/820047

Вопрос

Предположим, вы пишете сетевое приложение WinForms, которое должно работать в «параноидальной» среде из-за ограничительной политики компании на сайте клиента.Какие ограничения имела такая враждебная среда и что вы делали, чтобы их обойти?

Несколько примеров для начала:

  • Проблема:Существует очень строгий брандмауэр, который разрешает только исходящий трафик через порт 80.Решение:используйте только HTTP для работы в сети.
  • Проблема:Платформа .NET не разрешена.Решение:превратите свое приложение в веб-приложение.

С какими такими ограничениями вы сталкивались в реальных ситуациях с клиентами, например, в банковском программном обеспечении (которое обычно должно работать в особенно строгих условиях)?

Это было полезно?

Решение

Ну, в первой части вопроса я не уверен.Однако что касается ваших пунктов.Вы можете запустить свой сервер на порту 80 и НЕ использовать HTTP, а свой собственный протокол.Кроме того, брандмауэр, конечно, поддерживает SSL (443), вы также можете обернуть свой протокол в SSL.Поскольку платформа .NET не разрешена, вы можете использовать PostBuild от Xenocode или подобное приложение «статического связывания» для .NET.Кроме того, что касается HTTP, вы можете заставить свое приложение взаимодействовать через HTTP, но использовать веб-службы и, следовательно, по-прежнему предоставлять полнофункциональный клиент.

Вот ссылка на PostBuild:

https://secure.xenocode.com/Products/Postbuild-for-NET/

Другие советы

Компании, которые настаивают на использовании IE6.Это может привести к дополнительным затратам, если вы попытаетесь обойти ограничения с помощью веб-приложения.

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

Пропустить весь сетевой трафик через порт 80 — это хороший вариант.А затем потребуется перенаправитель на порту 80, чтобы несколько серверных приложений могли «прослушивать» один порт, поскольку открытие любого другого порта было бы «риском безопасности».

Вероятно, самая большая проблема, с которой вы столкнетесь, — это компании, которые не используют Центр обновления Windows регулярно и не имеют доступа к Интернету на своих компьютерах.Мои клиенты такие, но они должны быть такими.

Это означает, что когда вы развертываете свое программное обеспечение, вам нужно знать, какая у него платформа .net, и не всегда можно сказать им «обновить до последней версии».Очень сложно устанавливать обновления без Интернета на каждый рабочий стол и развертывать все версии .net, пакеты обновлений и исправления MS.Поэтому, если вы предоставляете код, требующий чего-то, чего нет у пользователя, вам, возможно, придется его переписать.

Вынуждены разрабатывать в старых средах, таких как .NET 1.1, через 3 года после выпуска .NET 2.0.Также разрыв между командами настольных компьютеров и серверов.Команда разработчиков настольных компьютеров считала .NET плохой и небезопасной, в то время как команда серверов имела прямо противоположную реакцию и любила .NET, потому что у нее была возможность блокировать среду с помощью доверенных разрешений.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top