Сайт в чистом C # - PullRequest
       18

Сайт в чистом C #

3 голосов
/ 12 сентября 2009

Я хочу узнать, как сделать сайт на C #. Я знаю PHP, но мне больше нравится язык C #. Я пытался узнать, как сделать сайт в ASP.NET, что до сих пор меня очень расстраивало, потому что я совсем не люблю ASP (даже меньше, чем PHP). Что-то в этом сводит меня с ума до такой степени, что я с трудом заставляю себя учиться этому. Есть ли способ просто сразу передать управление из ASP в C #, а затем делать все из C #, включая вывод HTML и других вещей, когда это необходимо, как в PHP? Другими словами, мне нравится PHP-способ программирования сайтов, но я предпочитаю язык C #. Любая помощь будет оценена.

Ответы [ 8 ]

11 голосов
/ 12 сентября 2009

Взгляните на asp.net mvc: http://www.asp.net/mvc/.

Он гораздо ближе к металлу, чем веб-формы asp.net, и должен чувствовать себя более комфортно, если вы работаете в PHP.

Здесь много хороших учебников: http://www.asp.net/Learn/mvc/

6 голосов
/ 12 сентября 2009

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

Ознакомьтесь с описанием MSDN по использованию HttpHandlers . Пожалуйста, оставьте комментарий, если у вас есть еще вопросы об этом.

ASP.NET MVC - это еще один вариант, но он по-прежнему использует разметку ASPX по умолчанию. Вы могли бы потенциально найти другой движок представления, который вам больше нравится. Я ничего не знаю об этом, хотя. ( отредактировано - спасибо, Джоэл! )

Редактировать: Имейте в виду, что технически вы все еще находитесь в проекте ASP.NET при использовании HttpHandlers, но это просто для того, чтобы вокруг вас работала платформа запросов / ответов / серверного контекста / и т.д. Вы все еще можете работать на 100% с кодом C #.

4 голосов
/ 12 сентября 2009

Только не используйте какой-либо серверный элемент управления, поместите код непосредственно в файл ASPX (между <% и%>), и он должен выглядеть как PHP (или классический ASP) ... это с HttpHandler, но в этом случае вы потеряете возможность писать встроенный HTML; вам придется выводить всю разметку с помощью Response.Write, что не совсем удобно ...

Обратите внимание, что я настоятельно рекомендую против любого из этих подходов, это просто ответ на ваш вопрос;)

2 голосов
/ 12 сентября 2009

Вы можете делать большинство вещей в ASP.net, используя довольно чистый C #. Раньше я сильно полагался на элементы управления ASP.net, перетаскивая большинство моих страниц с небольшими фрагментами кода, чтобы элементы управления делали то, что я хотел. Мне действительно это не понравилось, и это заставило меня думать о кодировании ASP.net как о совершенно отличной вещи от программирования на C # (хорошо, это был vb в то время - не судите меня!).

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

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

2 голосов
/ 12 сентября 2009

«Мне действительно не нравится ASP (даже меньше, чем PHP)», за которым следует «Мне нравится путь PHP». Похоже, у вас возникли проблемы с разрывом со старым, и вы стали несколько противоречивыми.

Я чувствовал то же самое, переходя от классического asp к asp.net, и традиционные сайты asp.net все еще доставляют мне много горя. Когда вы привыкли к более детальному контролю, может быть трудно обдумать более "фреймворкские" способы ведения дел. Как уже было сказано, попробуйте asp.net MVC. ИМО предлагает правильный баланс, и для меня это глоток свежего воздуха после Asp.net.

2 голосов
/ 12 сентября 2009

Вы также можете использовать универсальные обработчики (.ashx). Они предоставляют вам httpcontext, и от вас зависит, что вы с ним делаете.

1 голос
/ 12 сентября 2009

Это не особенно хороший вариант, но вы можете использовать C # с CGI , если хотите пойти по простому маршруту.

1 голос
/ 12 сентября 2009

ASP.NET MVC может быть хорошим вариантом: www.asp.net/mvc

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