Как создать веб-платформу в C# без ASPX?

Мне удалось получить страницу ASP C#, работающую под человечностью/апачем/моно, но я не хочу писать свою платформу в этих ASP-страницах, я хочу использовать прямой C#, и затем я буду использовать язык шаблонной обработки для своих представлений. Но я не знаю, где начать?

C# является скомпилированным языком, так..., как я сделал бы это? Я скомпилировал бы все и затем имел бы апачский рычаг в (единственный) исполняемый файл и передачу в URL запроса? Я мог запросить конкретный .cs страницы и затем имеют апача, говорят этому компилировать и затем "отображать" его, только если это было обновлено? Файлы "представления" могут быть скомпилированы индивидуально, чтобы избежать необходимости перекомпилировать все каждый раз, когда существует изменение? Разве существует ли некоторая "основа", я могу работать от или, я оказывающийся перед необходимостью переосмысливать доступ ДОБИРАЮСЬ и переменные POST (путем чтения информации о заголовке) и все виды другого материала, который мы считаем само собой разумеющимся на языках как PHP?

6
задан mpen 30 May 2010 в 00:39
поделиться

5 ответов

AFAIK нет причин, по которым вы не можете делать то, что хотите, поверх ядра ASP.NET, используя такие вещи, как HttpApplication, HttpHandler и т.д. Например, вы можете перенаправить все URL в один HttpHandler, а дальше действовать вручную.

Я предлагаю посмотреть, как это делает ASP.MVC - создайте новый проект ASP.NET MVC в MonoDevelop, посмотрите на Global.asax.cs, откройте Web.config и посмотрите на пользовательские http-обработчики и модули, которые он регистрирует. ASP.NET MVC является OSS, так что вы можете покопаться и в нем.

3
ответ дан 17 December 2019 в 00:04
поделиться

Для ASP .NET MVC доступно множество альтернативных языков шаблонов, длинный список см. В этом вопросе: Сравнение средств просмотра ASP.NET MVC

1
ответ дан 17 December 2019 в 00:04
поделиться
  1. Вы сказали ASP. Это ASP или ASP.NET страницы, которые у вас работают? Большая разница.
  2. Можете ли вы получить доступ к Request/Response на страницах ASP.NET, если да, то вы должны быть в состоянии получить доступ к GET/POST.
  3. Знаете ли вы, как создать то, что вы пытаетесь сделать в обычном IIS/ASP.NET? Если нет, пожалуйста, сохраните рассудок и сначала добейтесь хотя бы приблизительной работы там. Это просто общий совет, чтобы уменьшить количество переменных/неизвестных, с которыми вы работаете одновременно.
  4. В конечном счете, вы создаете свои собственные обработчики. Я полагаю, что вам понадобится какая-то часть dll, которая будет видеть запрос на страницу xxx, читать эту страницу и инстанцировать базовый класс. Взгляд на asp.net mvc source может помочь многим (в разделе дополнительных загрузок).
1
ответ дан 17 December 2019 в 00:04
поделиться

Никто не просит вас помещать тяжелый код на страницы ASPX. (Пожалуйста, не используйте ASP, это другое дело).

В модели ASP.NET WebForms можно использовать режим скрытого кода.

В модели ASP.NET MVC у вас гораздо больше контроля над почти всеми аспектами.

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

Mono поддерживает обе модели.

Кроме того, ASP.NET был разработан иначе, чем PHP, и вы должны знать, что это вносит различия, которые не всегда могут соответствовать вашим требованиям, указанным выше.

1
ответ дан 17 December 2019 в 00:04
поделиться

Если вы действительно против использования ASP, вы можете попробовать прочитать исходный код ASP и посмотреть, как они реализуют функции, которые вам понадобятся, например, доступ к POST и GET. информация, маршрутизация, управление сеансами и т. д.

Однако это будет огромная работа. Что вы могли бы сделать, так это реализовать подавляющую часть своей логики в библиотеках классов C # и просто использовать ASP для «размещения» приложения и передачи требуемых данных.

1
ответ дан 17 December 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: