Перезапись URL в ASP.NET для запроса БД из содержимого URL без расширения - PullRequest
1 голос
/ 03 декабря 2008

Я пытаюсь создать очень простое приложение ASP.NET, которое представляет информацию, полученную из базы данных на основе URL, аналогично вики, но в этом случае сайт доступен только для чтения. Пример URL, который я хотел бы, будет:

http://www.foo.com/bar

Затем приложение будет использовать «bar» в качестве параметра запроса SQL для отображения информации из базы данных, которая соответствует «bar».

Я рассмотрел многие параметры перезаписи URL для IIS6 (и это будет на выделенном сервере), но я до сих пор не уверен, какой из них использовать для этого приложения.

Чтобы уточнить, мне нужно только запустить сайт из одного default.aspx файла, но я хочу, чтобы он работал, как описано выше. Общая логика сайта будет очень простой.

Я надеюсь, что кто-то с большим опытом в этой области может мне помочь - я ищу простейшее решение, которое будет соответствовать этому единственному сценарию.

Ответы [ 2 ]

2 голосов
/ 03 декабря 2008

IIS6 направляет запросы в движок asp.net, только если это расширение зарегистрировано. По умолчанию зарегистрированными расширениями являются aspx ascx asmx и т. Д. *

Если вы не можете основать свой запрос к базе данных на параметре строки запроса (например, foo.com/default.aspx?query=bar), то лучшее, что вы можете сделать на IIS6, - это сопоставление по шаблону. По сути, это означает, что каждый запрос будет направлен на asp.net (включая скрипты и стили изображений). Очевидно, это снизит производительность.

Чтобы включить сопоставление с подстановочными знаками, щелкните правой кнопкой мыши свой сайт в диспетчере IIS и выберите «Свойства» -> «Домашний каталог» -> «Конфигурация» -> «Сопоставления» внизу, нажмите «Вставить» и введите путь к asp.net isapi dll (вы можете скопировать от расширения aspx выше) и снимите флажок «Убедитесь, что файл существует».

После внесения изменений вы сможете запросить foo.com/bar

(другой способ может быть сделать запрос на foo.com/default.aspx/bar)

0 голосов
/ 06 декабря 2010

Только для записи, IIS URL Rewrite 2 поддерживает это, вы можете установить образцы расширяемости, которые включают поставщика БД. Работает только на IIS 7+.

http://www.iis.net/download/urlrewrite http://code.msdn.microsoft.com/rewriteextensibility

...