| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Как связать клиент. прилож. с ASP.NET? |
| Автор: alir 26.3.2005, 14:59 |
| У меня есть клиентовское приложение (например, какая-нить игрушка). Я хочу ее связать с asp.net - страницей, чтоб можно было играть через web. Как это сделать не переписывая программу? Вот, например, в java: клиентовское приложение превращается в апплет простым наследование главного класса. Есть ли что подобное в .net? Как решить задачу более рациональным путем? |
| Автор: arilou 28.3.2005, 12:22 | ||
Это приложение Windows Forms? |
| Автор: alir 28.3.2005, 18:23 |
| Да, конечно! |
| Автор: arilou 28.3.2005, 18:47 |
| Описанным тобой способом нельзя - Forms и ASP.NET приложения очень разные. Вроде есть чьи-то сторонние конвертеры, но ссылок не помню. В ASP.NET есть такая штука под названием IEExec, посмотри в MSDN Также, можешь попробовать framework Марка Клифтона под названием MyXAML отсюда: http://www.codeproject.com/cs/miscctrl/xmlGuiGenerator.asp |
| Автор: Domestic Cat 28.3.2005, 19:54 |
| А что подразумевается под "играть через веб"? Какая игра-то? |
| Автор: alir 28.3.2005, 20:58 | ||
Вообще, тетрис. Есть сделанный клиентовский проект. Хотелось бы не изменяя его структуру, сделать его web-ким, чтоб народ коннектился, регился (это все добавляется) и играл. Применял GDI+. |
| Автор: mr.DUDA 28.3.2005, 21:08 | ||
Вот она, мощь платформы, которая ни от чего не зависит! Вот бы ей ещё и быстродействия побольше... З.Ы. насчёт тетриса под ASP: клиентскую часть придётся по-любому писать "в отрыве" от загружаемой страницы. По моему мнению, это будет обычный Windows Forms клиент, который будет двигать кубики и посылать HttpWebRequest-ы серверу. А уже сервер можно хоть на ASP.NET, хоть на PHP написать - это безразлично. Главное, чтобы клиент и сервер друг друга поняли З.Ы. ОЧЕНЬ рекомендую ознакомиться с XML Web Services, т.к. имхо это именно то, что проще и легче всего организовать. Используя веб-сервисы, клиент практически "напрямую" (т.е. прозрачно для программиста) вызывает методы серверного класса (веб-сервиса). |
| Автор: Domestic Cat 28.3.2005, 21:14 | ||
http://soft.compulenta.ru/2004/6/17/47645/?ref=left |
| Автор: mr.DUDA 28.3.2005, 22:49 |
| В приаттаченном внизу файле - исходники двух проектов, серверного (веб-сервис на ASP.NET) и клиентского (форма). Инструкция: 1) открываем проект в VS 2003, компилируем 2) для папки TetrisServer создаём виртуальный каталог IIS: TetrisServer (в свойствах папки заходим в "Доступ через Веб" (или "Web sharing"), ставим в настройках безопасности IIS галку "Анонимный вход" для этого каталога ("Allow anonymous access")) 3) вот и всё Запускаем TetrisClient (а можно сразу несколько) и видим то, что на скриншоте внизу. Дальше должно быть понятно. |
| Автор: mr.DUDA 28.3.2005, 22:51 |
| Скриншот: |
| Автор: alir 29.3.2005, 11:56 |
| 2 Mr.Duda: Спасибо, посмотрим... |
| Автор: mr.DUDA 30.3.2005, 07:25 |
| 2 alir, так, на всякий случай - пару советов 1) Чтобы просмотреть код серверной части, правкликом по "TetrisService.asmx", потом "View Code". 2) Веб-методы можно просматривать и вызывать прямо из Internet Explorer'а, для этого в строке браузера надо набрать адрес asmx-файла. 3) Если набор веб-методов или аргументов у любого веб-метода изменился, то чтобы клиентская часть об этом "узнала", надо в проекте TetrisClient открыть папку Web References, правкликом по "TetrisService", потом "Update Web Reference". |