ASP.NET - Recepción de datos HTTP POST en formularios loginUrl de autenticación (de una aplicación externa)

StackOverflow https://stackoverflow.com/questions/1895672

Pregunta

Necesito pasar algunos datos de una aplicación ASP clásico a mi aplicación ASP.NET utilizando el método POST (no se puede usar GET siento) en una forma.

No parece que esto funcione si mi acción es la página aspx objetivo, pero mi aplicación ASP.NET es el uso de la autenticación de formularios, porque parece que en algún lugar de la tubería se pierde mis datos, dado que la colección Request.Form es nula en el método Page_Load de mi página de inicio de sesión.

Si desactivo la autenticación de formularios, la página de destino recibe los datos enviados sin ningún problema.

¿Sabe usted cómo puedo trabajar alrededor de este problema? Cuándo o dónde podría obtener estos datos?

Gracias de antemano!

¿Fue útil?

Solución

Una posibilidad podría ser la de transferir las cabeceras publicadas en un objeto de sesión a mantener en su lado ASPX que luego se mató una vez que su propósito es completa.

void Session_Start(object sender, EventArgs e) 
{
    // Code that runs when a new session is started
    SortedList sList = new SortedList();
    foreach (string key in HttpContext.Current.Request.Form.Keys)
    {
        sList.Add(key, HttpContext.Current.Request.Form[key]);
    }
    Session.Add("myList", sList);

}

Otros consejos

Puede usted acaba de desproteger la hoja suelta que es el objetivo de la entrada?

En el web.config:

<configuration>
  <location path="MyPostHandlingPage.aspx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
</configuration>

La posible forma 2 para transferir datos entre asp a aspx es

  1. utilizando Sesión, a través de SQL DB (Ref http:. / /msdn.microsoft.com/en-us/library/aa479313.aspx

  2. Uso de cadena de consulta en una página ASP intermedio como a continuación.

Su página primera ASP: Ejemplo.asp

<% language="VBScript"%>
<html>
<head>
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" action="process.asp" method="post">
    <div>
        &nbsp;<input name="Text1" id="Text1" type="text" />
        <input id="Submit2" type="submit" value="submit" /></div>
    </form>
</body>
</html>

Su página Intermedio: process.asp

<%@ language="vbscript"%>
<html>
<head>
    <title>Untitled Page</title>
</head>
<body>
    <form id="form2">
    <%response.Write(Request.Form("Text1"))
     %>
    <%response.Redirect("default3.aspx?icontent=" & Request.Form("Text1"))  %>
    </form>
</body>
</html>

Su página de códigos ASPX: Default.aspx

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(Request.QueryString["icontent"].ToString());
    }

}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top