这是我的情景:
桌面应用程序使用XML数据发布到我的Web应用程序中的特定ASP页面。 Web应用程序正在重写为ASP.Net;但是,该特定页面的Url无法更改(由于桌面应用程序)。
我最初的想法是简单地将来自传统ASP页面的请求“转发”到新的ASPX页面,该页面将通过更改ASP页面来处理请求:
<% Server.Transfer("MyApp/NewXmlHandler.aspx") %>
然而,这不起作用:
Active Server Pages错误'ASP 0221' @ Command指令无效 /MyApp/NewXmlHandler.aspx,第1行
有没有一种简单的方法可以在ASP页面中获取发布的数据,并将其转发到另一个页面?
谢谢!
答案 0 :(得分:2)
将表单值放入查询字符串(URL编码),然后使用Response.Redirect。 Server.Transfer恢复执行,您无法在ASP 3.0中执行ASP.NET页面。
答案 1 :(得分:2)
如果其他人遇到这种情况,我最终会像这样传递请求:
<%
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 :(得分:0)
您可以使用ASP.NET路由吗?如果是这样,只需将POST路由到.aspx页面而不是.asp页面。
答案 3 :(得分:0)
我正在研究类似这样的问题,但我也必须处理授权问题。在你的情况下,它更简单,对于那些可能遇到这个问题的人,我认为URLRewrite或.htaccess可以解决这个问题。