У меня есть приложение C # Windows Forms. Могу ли я развернуть его в Интернете, чтобы пользователи могли получить доступ через Интернет? - PullRequest
4 голосов
/ 30 декабря 2010

Мы создали приложение для Windows, использующее C # (.NET 2.0, Visual Studio 2005).Теперь повторное выполнение этого веб-приложения - это процесс, требующий много времени и ресурсов, который для меня практически невозможен.

Нам нужно разместить его, чтобы пользователь мог получить доступ через Интернет.

Через RDP пользователь может получить доступ к приложению Windows, но проблема заключается в том, что больше пользователей не могут работать одновременно.

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

Ответы [ 5 ]

4 голосов
/ 30 декабря 2010

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

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

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

2 голосов
/ 30 декабря 2010

Вы можете, по крайней мере, развернуть его через через Интернет, используя ClickOnce

Развертывание ClickOnce позволяет публиковать приложения для Windows на веб-сервере или в сетевой папке для упрощенной установки. Visual Studio обеспечивает полную поддержку публикации и обновления приложений, развернутых с использованием технологии ClickOnce.

http://msdn.microsoft.com/en-us/library/t71a733d(v=VS.90).aspx

1 голос
/ 30 декабря 2010

Я бы порекомендовал потратить некоторое время и изменить архитектуру для принятия SOA .

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

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

1 голос
/ 30 декабря 2010

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

0 голосов
/ 30 декабря 2010

Если вы используете приложение базы данных в Windows, вы можете сделать одну вещь.Вы можете развернуть базу данных на сервере, но вы хотите создать для нее интерфейсное приложение в ASP.NET, чтобы вы могли использовать свое приложение Windows на компьютере, на котором вы установили приложение, и все остальные также могли получить к нему доступ.через Интернет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...