ASP.NET/URL Переписывание в среде разработки - PullRequest
2 голосов
/ 15 января 2010

Это общий вопрос о перезаписи URL в среде разработки. Я разрабатываю CMS для изучения ASP.NET/C#, и мне, конечно, потребуется реализовать перезапись URL. Эта техника мне известна с тех пор, как я использую PHP на протяжении нескольких лет. Однако в PHP вы можете иметь локальный HTTP-сервер, напрямую изменять содержимое PHP, обновлять страницу и видеть результаты. Конечно, в ASP.NET это не совсем то же самое, так как вам нужно скомпилировать, а затем опубликовать код.

Проблема, с которой я столкнулся, заключается в том, что мне нужно проверить ссылки, удобные для перезаписи URL, которые мой код будет генерировать в моей среде разработки, - в основном, сделать ASP.NET Development Server совместимым с URL Rewrite. А может и нет.

Мой вопрос на самом деле: как лучше всего это сделать? Использовать IIS / Apache2 (с Mono) для сервера разработки?

Ответы [ 5 ]

2 голосов
/ 15 января 2010

Просто включите IIS на локальном компьютере, а затем создайте веб-сайт и укажите его в каталоге проектов вашего веб-сайта. Это, безусловно, самый простой способ, если вы спросите меня.

1 голос
/ 15 января 2010

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '' S * '' * * *

В зависимости от вашей платформы, вероятно, проще всего иметь файлы проекта в папке wwwroot в IIS, а затем либо создать новый сайт, указывающий на это, либо убедиться, что вы настроили его как приложение в IIS. Просто скажите Visual Studio использовать «Локальный веб-сервер IIS» в свойствах проекта. Затем вы можете использовать что-то вроде IIS Url Rewrite Module для выполнения маршрутизации.

Другой вариант - добавить ссылку на библиотеку System.Web.Routing , которая была представлена ​​в .NET 3.5 с пакетом обновления 1 (SP1) - в Интернете имеется учебников при использовании этого с веб-формами в отличие от MVC. Это будет иметь преимущество в том, что вы сможете использовать инструменты в механизме маршрутизации для правильной генерации ссылок и знать, что они будут правильно обрабатываться сервером - то, чего вы обычно не получаете от модуля IIS, где вы сами создадите свои ссылки и будете уверены, что модуль был настроен таким же образом.

0 голосов
/ 15 января 2010

Если вы разрабатываете, я догадываюсь, что вы делаете это на Windows. Количество хостов для Mono и Linux / Apache довольно невелико, поэтому лучше всего использовать способ IIS.

Для IIS Vista / Windows 7 у вас есть несколько вариантов

  • Один URL перезаписывает из множества HTTP-модуль для ASP.NET - это работает очень хорошо, если вы хотите переписать только страницы ASP.NET. Вы также можете воздействовать на карту другими типами файлов, так как IIS 7 изменится
  • Расширение ISAPI для перезаписи URL для IIS - быстрее, чем использование ASP.NET, и более привычно для вас, если вы используете mod_rewrite.
  • Поиграйте с ASP.NET MVC , чтобы получить мгновенные результаты.

Скотт Гатри имеет большой пост, и этот вопрос очень поможет.

0 голосов
/ 15 января 2010

Попробуйте это

http://urlrewriter.codeplex.com/

Он поддерживает синтаксис Apache и синтаксис перезаписи URL на сервере разработки Visual Studio.

0 голосов
/ 15 января 2010

Если вы настроите свой проект как «веб-сайт» вместо «веб-приложения», то веб-сервер будет автоматически компилировать все для вас при каждом его изменении; вам не придется выполнять явную компиляцию, если вы не изменяете код в DLL, используемой проектом.

Это проще с локальным экземпляром IIS, чем с Cassini, потому что, похоже, Cassini не так хорошо справляется с обнаружением изменений и принудительным перезапуском.

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