Мне нужно разделить часть функциональности от устаревшей библиотеки ISAPI на другое решение (скорее всего ASP.NET MVC). Переписывание URL в IIS7 звучало как идеальный кандидат на работу, но оказалось, что я не могу найти способ настроить правила так, как мне нужно. Мне нужно написать правило, которое проверяет содержимое сообщения HTTP для конкретного значения.
<form method="post" action="legacy_isapi.dll">
<input name="foo" />
</form>
if (Request.Form["foo"] == "bar")
Context.RewritePath("/some_other_url/on_the_same_machine/foo/bar");
В качестве подтверждения концепции я смог создать IHttpModule
, который проверяет коллекцию context.Request.Form
и выполняет перезапись при наличии определенных параметров. Я установил этот модуль на свой сайт, и он работает.
Однако вместо пользовательского модуля я бы предпочел расширить существующий модуль перезаписи URL, чтобы он поддерживал проверку содержимого HTTP-сообщения как одного из его правил. Возможно ли это?