2010-06-03 2 views
1

동일한 컴퓨터의 클래식 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 코드, 웹 서비스를 호출하고 쿠키를 설정하면 브라우저에서 직접 호출하면 작동합니다. 그러나 Msxml2.ServerXMLHTTP 개체를 사용하면 그렇지 않습니다. 쿠키가 생성되지 않고 오류가 없습니다. 이벤트 뷰어에는 이벤트가 없습니다.

ASP.NET 페이지는 Visual Studio 2005, .NET 2.0에서 개발되었습니다. POST를 GET으로 변경해도 도움이되지 않습니다.

아이디어가 있으십니까?

+0

그래서 'CalledFromAsp.aspx'에 대한 요청은 쿠키를 설정하기위한 것입니까? 요청은 브라우저가 아니더라도 서버에서 가져 오므로 다시 보내지는 쿠키는 브라우저로 전달되지 않습니다. –

답변

1

사용자를 ASP.NET 페이지로 리디렉션하려는 경우 Response.Redirect를 사용하십시오.

사용자가 ASP 페이지를 방문 할 때 ASP.NET 페이지를 호출하여 쿠키를 설정하려는 경우 작고 보이지 않는 iframe을 사용할 수 있습니다. iframe 대상을 ASP.NET 페이지로 설정하기 만하면됩니다.

물론 ASP 코드에서 webservice를 직접 호출하고 거기에 쿠키를 설정할 수 있습니다.

-1

클라이언트의 브라우저를 통해 리디렉션을 시도 했습니까?

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

@Downvoter : 설명이 문제가되지 않을까? –

1

사용자의 브라우저가 아닌 서버가 웹 서비스에 대한 요청을 수행하고 있습니다. 쿠키는 응답 헤더의 .asp 페이지로 반환됩니다. Response.Cookies ("cookieName") = value

관련 문제