2009-07-14 7 views
2

Voici mon scénario:Server.Transfer de ASP à ASP.Net

Un message d'application de bureau à une page ASP spécifique dans mon application Web avec des données XML. L'application Web est en cours de réécriture sur ASP.Net; Toutefois, l'URL de cette page spécifique ne peut pas changer (en raison de l'application de bureau).

Mon idée originale était simplement « avant » les demandes de la page ASP classique à une nouvelle page ASPX, qui traiterait la demande, en changeant la page ASP comme ceci:

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

Cependant, cette ne fonctionne pas:

erreur active Server Pages 'ASP 0221' non valide @ directive commande /MyApp/NewXmlHandler.aspx, ligne 1

Existe-t-il un moyen simple de prendre les données publiées dans la page ASP et de les transférer vers une autre page?

Merci!

Répondre

2

Au cas où quelqu'un d'autre court dans ce, je fini par passer la demande le long comme ceci:

<% 
    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

Mettez les valeurs de formulaire dans querystrings (URL les coder), puis utilisez plutôt Response.Redirect. Server.Transfer reprend l'exécution et vous ne pouvez pas exécuter une page ASP.NET dans ASP 3.0.

+0

Je pense que les deux problèmes potentiels ici sont 1) Y at-il une limite de longueur pour une URL? et 2) je ne sais pas si l'application de bureau pourrait répondre à une demande de redirection – John

+1

Eh bien, une autre solution serait de les mettre dans la session et de partager la session: http://msdn.microsoft.com/fr us/library/aa479313.aspx –

0

Pouvez-vous utiliser le routage ASP.NET? Si c'est le cas, il suffit de router le POST vers la page .aspx au lieu de la page .asp.

0

Je travaille sur un problème similaire comme celui-ci, mais je dois traiter avec l'autorisation aussi. Dans votre cas, c'est beaucoup plus simple et pour ceux qui pourraient rencontrer ce problème, je pense que URLRewrite ou .htaccess fera l'affaire.

Questions connexes