从ASP页面调用ASP.NET页面

问题描述:

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

这里是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 

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

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

任何想法?

+0

所以对'CalledFromAsp.aspx'的请求是为了设置cookie?请求来自服务器,而不是浏览器,因此任何发回的cookie都不会传递到浏览器。 – 2010-06-03 15:04:43

将其设置在用户的浏览器上如果您尝试将用户重定向到ASP.NET页面,请使用Response.Redirect。

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

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

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

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

@Downvoter:我想一个解释是不可能的? – 2010-09-15 12:15:07

您向服务器发出的请求,而不是用户的浏览器。该cookie返回到响应头中的.asp页面。您需要解析并通过Response.Cookies(“cookieName”)= value