Я хочу узнать, как сделать сайт с C#. Я знаю PHP, но мне нравится язык C# лучше. Я попытался научиться создавать веб-сайт в ASP.NET, который до сих пор действительно разочаровал меня, потому что мне действительно не нравится ASP вообще (даже меньше, чем мне нравится PHP). Что-то в этом сводит меня с ума до такой степени, что мне трудно заставить себя это изучить. Есть ли способ сразу же передать управление от ASP до C#, а затем сделать все с C#, включая вывод HTML и других материалов, когда это необходимо, как в PHP? Другими словами, мне нравится PHP-способ программирования на сайте, но предпочитаю язык C#. Любая помощь будет оценена.Веб-сайт в чистом виде C#
ответ
Посмотрите на asp.net mvc: http://www.asp.net/mvc/.
Это намного ближе к металлу, чем веб-формы asp.net, и должно чувствовать себя более комфортно, если вы исходите из фона PHP.
Там много хороших уроков здесь: http://www.asp.net/Learn/mvc/
Я согласен с тем, что ASP.NET MVC - отличная среда, но я не понимаю, почему OP будет чувствовать себя более комфортно с ней ... –
Спасибо за это! Я тестировал структуру ASP.NET MVC, и мне это очень нравится. Прохождение этих учебных пособий было лучшим опытом, чем стандартные обучающие программы ASP.NET. Я обнаружил, что это не то, что мне не нравится код ASP, я просто не люблю начинать и заканчивать там. Когда вы концептуально начинаете с C#, а затем решаете, когда передавать управление в ASP, и даже тогда только для представления, ASP действительно такой приятный. До сих пор структура MVC была легко освоена, использовалась и настраивалась. –
Я рад, что смог помочь! – jonnii
Да, вы можете использовать HttpHanders обрабатывать все ваши запросы. HttpHandler - это класс, который может напрямую получать запрос и обрабатывать все с помощью кода. Он часто используется, чтобы поймать запрос на изображение и служить ему для базы данных, но вы, безусловно, можете использовать его для выполнения того, что хотите.
Проверьте MSDN introduction to using HttpHandlers. Пожалуйста, напишите комментарий, если у вас есть еще вопросы по этому поводу.
ASP.NET MVC - еще один вариант, но по-прежнему использует разметку ASPX по умолчанию. Вы могли бы потенциально найти другой механизм просмотра, который вам больше нравится. Я ничего не знаю об этом. (отредактирован - благодаря Joel!)
Edit: Имейте в виду, что вы технически все еще в проекте ASP.NET при использовании HttpHandlers, но это только, чтобы получить запрос/ответ/контекста сервера/и т.д. Framework бегая вокруг вас. Вы все еще можете работать на 100% с кодом C#.
Серьезно ... мы рекомендуем новичкам, которые не имеют головы вокруг asp.net, что общие обработчики - это путь? Хотя это технически отвечает на этот вопрос, я чувствую себя вынужденным предупредить, что внедрение веб-сайтов таким образом будет серьезно пагубным для здоровья, учитывая богатство других вариантов, которые могли бы привести OP к более высокому уровню производительности. – spender
Вот что я предлагаю, да. Вы задаете вопрос, вы получаете ответ. Если он хочет использовать код исключительно, так это можно сделать. Одна из причин, по которой многие люди могут ответить на вопросы, - это то, что мы можем получить много перспектив, и этот, безусловно, принадлежит здесь. – JoshJordan
@spender: Как указано ниже, общие обработчики и httphandlers - это две разные вещи. Человек php (или даже java) на самом деле будет чувствовать себя намного лучше дома, используя общий обработчик, чем полный маршрут .net. – NotMe
ASP.NET MVC может быть хорошим вариантом: www.asp.net/mvc
Вы также можете использовать Generic Обработчики (.ashx). Они снабжают вас httpcontext, и это полностью зависит от вас, что вы с ним делаете.
Посмотрите мои комментарии в ответе Джоша Джордана – spender
Общие обработчики через .ashx не совпадают с httphandlers. Общий обработчик довольно близок к тому, что является страницей aspx без всего содержимого жизненного цикла страницы. – NotMe
Общие обработчики - это, конечно, один из правильных ответов здесь ... Однако из списка способов реализации веб-сайта в .net один из самых бедных будет писать его с помощью общих обработчиков и неизбежно заново изобрести рамки, которые уже существуют , Для меня точка перехода на новую платформу - это то, что она предлагает больше преимуществ/взлома за доллар. Переход от PHP к родовым обработчикам действительно кажется боковым «продвижением». – spender
«Мне действительно не нравится ASP вообще (даже меньше, чем мне нравится PHP)», за которым следует «Мне нравится PHP-способ». Похоже, у вас проблемы со старым, и они стали несколько противоречивыми.
Я чувствовал то же самое, что от классического asp до asp.net, а традиционные сайты asp.net по-прежнему дают мне много горя. Когда вы привыкнете к более тонкому контролю, может быть трудно обойти более «каркасные» способы делать вещи. Как уже было сказано, попробуйте asp.net MVC. ИМО предлагает правильный баланс, и для меня это глоток свежего воздуха после Asp.net.
Просто не используйте серверный контроль, поместите код непосредственно в файл ASPX (между <% и%>), и он должен чувствовать себя так же, как PHP (или классический ASP) ... Вы также можете сделайте это с помощью HttpHandler, но в этом случае вы потеряете возможность писать встроенный HTML; вам придется выводить всю разметку с помощью Response.Write, что не совсем удобно ...
Обратите внимание, что я настоятельно советую против любого из этих подходов, это просто ответ на ваш вопрос;)
+1 для ответа и предупреждения – spender
Это не особенно хороший вариант, но вы можете использовать C# с CGI, если вы хотите идти простой маршрут ,
+1. Я должен был сделать это раньше, чтобы встретить довольно безумное требование, которое имел клиент. Это некрасиво, и если вы можете этого избежать, я бы рекомендовал это, но его можно заставить работать. – chsh
Я на самом деле написал MVC-рамки с mod_rewrite и C# CGI. –
Вы можете делать большинство вещей в ASP.net, используя довольно чистый C#. Раньше я в значительной степени полагался на элементы управления ASP.net, перетаскивая большинство моих страниц с небольшими фрагментами кода здесь и там, чтобы сделать элементы управления делать то, что я хотел. Мне это действительно не понравилось, и это заставляет меня думать о кодировании ASP.net как совершенно отличной от программирования на C# (ну, в то время это было vb - не судите меня!).
Теперь почти все мои поколения кода и html обрабатываются различными пользовательскими классами. Мои страницы, написанные на основе кода, просто соединяют входы и события, относящиеся к странице, к моим классам использования. Аналогично, я использую встроенный код для вывода - я просто вызываю функцию на моем коде, которая собирает необходимую переменную и позволяет моим классам тяжелый подъем.
Я определенно считаю, что некоторые элементы управления ASP.net полезны, и я использую их время от времени. Однако я обнаружил, что изменение способа, с помощью которого я заключил свой код, дало мне совершенно другое представление о языке.
- 1. Строй странный в чистом виде C
- 2. Многоядерные ресурсы в чистом виде C
- 3. Реализация MVC в (чистом виде) C
- 4. Замена для линкеров в чистом виде C
- 5. Перекрывающиеся элементы в чистом виде?
- 6. Как инициализировать этот массив в чистом виде?
- 7. Найти int в строке (char *) в чистом виде c
- 8. Как обрабатывать исключение в чистом виде в C++
- 9. Сохранение предпочтений в андроиде в чистом виде
- 10. Программный реализация tail -f в чистом виде C
- 11. Использование генераторов случайных чисел C++ в чистом виде
- 12. «Многоцелевой» реализация связанного списка в чистом виде C
- 13. Что такое эквивалент класса в чистом виде C
- 14. Имитация MovieClip в чистом виде as3
- 15. Уменьшение изображений в чистом виде Javascript
- 16. Как контролировать работу набора в чистом виде?
- 17. прекращение выполнения кода в чистом виде python
- 18. Многопоточность в чистом C++?
- 19. Пространство имён в asp.net вебсайт
- 20. обработки в чистом C Исключение
- 21. Сделка в чистом C# кодировании
- 22. Двоичная сериализация в чистом C/C++
- 23. Как обращаться с массивной фабрикой в чистом виде
- 24. Как сгруппировать статические методы в классе в чистом виде
- 25. Модифицируйте navbar dom в чистом виде в MEAN.IO
- 26. Как реализовать транзакцию в Spring Data Redis в чистом виде?
- 27. лучший способ сделать отзывчивый вебсайт
- 28. создания редактируемого вебсайт HTML/CSS
- 29. вебсайт показывая неправильный часовой пояс
- 30. Определите, завершен ли вебсайт send()
Ваши чувства по поводу ASP.NET == Мои чувства о PHP. Я физически сержусь, когда мне приходится писать PHP-код. :) –
Вот как я отношусь к VB (и пастернакам) – Seth