从ASP页面调用ASP.NET页面

时间:2010-06-03 14:58:16

标签: asp.net asp-classic

我试图从同一台机器上的经典ASP页面调用ASP.NET页面。 ASP页面位于c:\ inetpub \ wwwroot中。 ASP.NET页面位于C:\ Inetpub \ wwwroot \ WebServiceWrapper \

以下是调用页面的ASP代码:

Dim objHttp, strQuery
set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
strQuery = "http://localhost/WebServiceWrapper/CalledFromAsp.aspx?First=Steve&Last=Smith&DOB=11/25/2001&Gender=M"
objHttp.open "POST", strQuery, false
objHttp.send
Set objHttp = Nothing

如果我直接从浏览器调用它,那么调用Web服务并设置cookie的ASP.NET代码可以正常工作。但是,使用Msxml2.ServerXMLHTTP对象时,它不会。 cookie未生成且没有错误。事件查看器中没有事件。

ASP.NET页面是在Visual Studio 2005 .NET 2.0中开发的。将POST更改为GET没有帮助。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您对Web服务的请求是由您的服务器而不是用户的浏览器进行的。 cookie将返回到响应头中的.asp页面。您需要解析它并通过Response.Cookies("cookieName") = value

在用户的浏览器上进行设置

答案 1 :(得分:1)

如果您尝试将用户重定向到ASP.NET页面,请使用Response.Redirect

如果您只想在用户访问ASP页面时调用ASP.NET页面来设置cookie,则可以使用小而不可见的iframe。只需将iframe目标设置为ASP.NET页面即可。

当然,您可以直接从ASP代码中调用Web服务并在那里设置cookie。

答案 2 :(得分:-1)

您是否尝试通过客户端的浏览器进行重定向?

Response.Redirect "http://localhost/WebServiceWrapper/CalledFromAsp.aspx?First=Steve&Last=Smith&DOB=11/25/2001&Gender=M"