Server.Transfer с ASP на ASP.Net - PullRequest
       14

Server.Transfer с ASP на ASP.Net

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

Вот мой сценарий:

Настольное приложение отправляет на определенную страницу ASP в моем веб-приложении данные XML. Веб-приложение переписывается на ASP.Net; однако URL-адрес этой конкретной страницы не может быть изменен (из-за приложения для настольного компьютера).

Моя первоначальная идея состояла в том, чтобы просто «переслать» запросы с классической страницы ASP на новую страницу ASPX, которая будет обрабатывать запрос, изменив страницу ASP следующим образом:

<% Server.Transfer("MyApp/NewXmlHandler.aspx") %>

Однако это не работает:

Ошибка активных страниц сервера «ASP 0221» Неверная директива @ Command /MyApp/NewXmlHandler.aspx, строка 1

Есть ли простой способ взять опубликованные данные на странице ASP и переслать их на другую страницу?

Спасибо!

Ответы [ 4 ]

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

В случае, если кто-то еще столкнется с этим, я заканчивал тем, что передавал запрос следующим образом:

<%
    Dim postData
    Dim xmlhttp 

    'Forward the request to let .Net handle
    Set xmlhttp = server.CreateObject("MSXML2.ServerXMLHTTP")
    xmlhttp.Open "POST","http://127.0.0.1/MyApp/NewXmlHandler.aspx",false

    xmlhttp.send(Request)

    Response.Write xmlhttp.responseText

    Set xmlhttp = nothing
%>
2 голосов
/ 15 июля 2009

Поместите значения формы в строки запроса (URL-адрес их кодирует), а затем используйте Response.Redirect. Server.Transfer возобновляет выполнение, и вы не можете выполнить страницу ASP.NET в ASP 3.0.

0 голосов
/ 16 июня 2017

Я работаю над аналогичной проблемой, такой же, как эта, но мне также приходится иметь дело с авторизацией. В вашем случае это намного проще, и для тех, кто может столкнуться с этой проблемой, я думаю, что URLRewrite или .htaccess помогут.

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

Можно ли использовать маршрутизацию ASP.NET? Если это так, просто направьте POST на страницу .aspx вместо страницы .asp.

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