URL без параметров запроса - как отличить - PullRequest
0 голосов
/ 31 июля 2009

Конверт: .NET 1.1

Я попал в эту ситуацию. Где мне нужно дать URL, чтобы кто-то мог перенаправить их на нашу страницу. Когда они перенаправляют, они также должны сообщить нам, какое сообщение мне нужно отобразить на странице. Сначала я думал о чем-то вроде этого.

Так что, когда мы получаем этот URL на основе «причины», мы можем отобразить другое сообщение.

Но проблема в том, что они вообще не могут отправлять параметры запроса. Им нужны 15 разностных URL, поскольку они не могут отправлять параметры запроса. Для меня не имеет смысла создавать 15 страниц только для отображения сообщения.

Какие-нибудь умные идеи, которые имеют один URL и передают «причину» через некоторые средства?

РЕДАКТИРОВАТЬ: варианты я думаю на основе ответов

Попробуйте HttpRequest.PathInfo

или Второй вариант, о котором я думал, это прочитать httphanlder

читать путь следующим образом - HttpContext.Request.Path

в зависимости от пути действия. Конечно, у меня будет около 15 таких записей в web.config.

<add verb="*" path="reason1.ashx" type="WebApplication1.Class1, WebApplication1" /> <add verb="*" path="reason2.ashx" type="WebApplication1.Class1, WebApplication1" />

Это выглядит чисто?

Ответы [ 3 ]

2 голосов
/ 31 июля 2009

Мысли:

edit: оба эти подхода включают только одну страницу aspx, но несколько URL, указывающих на нее.

1 голос
/ 31 июля 2009

Если предположить, что IIS (я запускаю это на IIS 6, но я ожидаю, что он будет работать и на 5), вы можете установить IIRF . Затем вы можете настроить различные «дружественные» URL-адреса в стиле переписывания Apache и отправлять их в виде параметров запроса на одну страницу * x.

0 голосов
/ 31 июля 2009

Могут ли они отправлять переменные POST?

Очень жаль, что вы на 1.1, потому что более поздние версии поддерживают маршрутизацию, которая допускает RESTful URL.

Другой вариант - написать собственный HttpModule и перехватывать входящие запросы.

...