Si es necesario, agregá un handler para PreRequestHandlerExecute en Global.asax 
y poné un breakpoint allí. Si nunca se detiene en el handler esto significa que 
el pipeline se está abortando antes de ejecutar el handler de la página, 
probablemente debido a algún HttpModule que se encuentre configurado. 
Generalmente lo usual es algo relacionado a la autorización o autenticación, 
pero el código 200 parece indicar que no es así. Otra posibilidad es que la 
página se esté resolviendo desde el cache, aunque para un POST parece dudoso. 
¿Estás haciendo alguna cosa 'rara' con el cache?

La otra cosa que podrías hacer es colgar algún sniffer y ver que es lo que está 
devolviendo la solicitud realmente. Esto probablemente te indique cual es el 
problema.

Saludos,

Fernando Tubio

  ----- Original Message ----- 
  From: Matias Q 
  To: puntonet@mug.org.ar 
  Sent: Tuesday, March 20, 2007 3:39 PM
  Subject: [puntonet] HttpWebRequest


  Ok, debuggeando el Application_BeginRequest y Application_EndRequest, cuando 
se refiere a mi bendita pagina de recepcion de datos, veo que el objeto Request 
y su InputStream sí contiene los datos recibidos del POST, asi que aproveche a 
parsearlos y efectivamente los lee sin problemas...
   
  Ahora la pregunta es.... por qué los puede leer en el Application_EndRequest 
pero NUNCA ejecuta el codigo C# de la pagina? Es decir, si el Request llega y 
es leido por la Aplicacion, se pierde en algun punto del eter informatico? :P
   
  Hay dias en que me gustaría ser pescador y que lo unico que se puede 
complicar es si se me pierden las lombrices para la carnada :P 
   
   
  Matias


----------------------------------------------------------------------------
    From: [EMAIL PROTECTED]
    To: puntonet@mug.org.ar
    Subject: [puntonet] HttpWebRequest
    Date: Tue, 20 Mar 2007 14:47:21 -0300


    ¿La página no estará protegida por algún tipo de autenticación? En ese caso 
podría estar rebotando en el AuthenticateRequest y nunca llegaría a ejecutar el 
handler de la página, aunque sí ejecutaría EndRequest.

    ¿En los logs de IIS, el código de estado devuelto para esta solicitud es 
200 o algo diferente?  

    Enganchando un debugger al proceso y poniendo un breakpoint en 
Application_BeginRequest podrías seguir el flujo de la solicitud en el pipeline.

    Saludos,

    Fernando Tubio
      ----- Original Message ----- 
      From: Matias Q 
      To: puntonet@mug.org.ar 
      Sent: Tuesday, March 20, 2007 2:19 PM
      Subject: [puntonet] HttpWebRequest


      Jaja Luis, no hay problema :)
       
      Gracias por las respuestas.
       
      Clarifico un poco la situacion: El codigo que mande no es el mio, es el 
que utiliza la entidad de Servicio de Pago para enviarme a mi, la informacion, 
es decir, yo de alguna forma tengo que recibir la informacion enviada y no 
tengo acceso al objeto HttpWebRequest (y por ende tampoco al HttpWebResponse) 
porque son dos paginas separadas.
      Segun he visto en varios foros, el objeto Request deberia tener en su 
InputStream, la informacion codificada que me envian, el problema en realidad 
es que mi pagina nunca ejecuta su Code-Behind por alguna razon.
       
      El Servicio de Pago, mediante su HttpWebRequest hace el POST, el IIS de 
mi servidor en su log registra el POST, pero mi pagina nunca recibe 
absolutamente nada. Puse un HttpHandler, que en su evento 
Application_EndRequest detecta el Request a mi pagina, pero la pagina no se 
"ejecuta", nada de su Code-Behind corre, ni siquiera la primera linea.
       
      Un problema casi igual aparecio en:
      http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1341362&SiteID=1
       
      Matias






------------------------------------------------------------------------
        From: [EMAIL PROTECTED]
        To: puntonet@mug.org.ar
        Subject: [puntonet] HttpWebRequest
        Date: Tue, 20 Mar 2007 13:51:15 -0300


        No, no pregunten por qué puse Hugo, estoy teniendo serios problemas 
mentales, gracias.  =P



        Perdón, Matías, ahora sí. 



        From: Luis Farzati [mailto:[EMAIL PROTECTED] 
        Sent: Tuesday, March 20, 2007 13:49
        To: 'puntonet@mug.org.ar'
        Subject: RE: [puntonet] HttpWebRequest



        Hola Hugo,



        Una cosa que estoy notando, si querés enviar información raw (que por 
el ejemplo intuyo que sí), no tenés que especificar un ContentType de 
x-www-form-urlencoded.  Hacé una cosa, probá comentando esa línea y fijate si 
te funciona.



        Por otro lado, a modo sugerencia, si la página a la que estás posteando 
está creada únicamente para eso, te convendría mejor que sea un HttpHandler que 
está pensado para eso. Además de por una cuestión formal y prolija, vas a tener 
mejor performance aunque esto sólo lo vas a notar en muy gran escala.



        Saludos!

        Luis





        From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Matias 
Q
        Sent: Tuesday, March 20, 2007 13:28
        To: puntonet@mug.org.ar
        Subject: [puntonet] HttpWebRequest



        Buen dia lista,
         
        Estamos implementando una interfaz con un servicio de pago para Bancos, 
Tarjetas de Credito, etc. Nuestro sistema es Web (.NET 2.0), redirige a una 
pagina del Servicio de Pago donde se valida la tarjeta/banco y luego ellos 
redirigen al cliente nuevamente a nuestro sistema, la pagina que luego recibe 
al cliente tiene un resumen de su pago (la informacion a esta pagina se recibe 
mediante un POST normal de un formulario, asi que utilizamos Request.Form para 
hacerlo). Al mismo tiempo, el Servicio de Pago, envia mediante un proceso 
interno mas informacion a traves de un HttpWebRequest a otra de nuestras 
paginas, no visible al cliente. El problema es que esta pagina que recibe el 
HttpWebRequest, no esta ejecutando ninguna linea de su Code-Behind, no ejecuta 
nada en absoluto. 
         
        El Servicio de Pago lo envia de esta forma:
         
                HttpWebRequest request = (URL);
            
                request.ContentType = "application/x-www-form-urlencoded";
                request.Method = "POST";
                request.Accept = "text/*";
                request.AllowAutoRedirect = false;
                UTF8Encoding Encoding = new UTF8Encoding();
                byte[] postBytes = Encoding.GetBytes("informacion");
                request.ContentLength = postBytes.Length;
                Stream requestStream = request.GetRequestStream();
                requestStream.Write(postBytes, 0, postBytes.Length);
                requestStream.Close();
         
         
        El HttpWebRequest tiene un encoding UTF8 y envia un string de datos, el 
POST llega a nuestro servidor y se registra en el IIS, pero la pagina no corre 
nada de su Code-Behind, ni una linea. El codigo de recepcion se esta ejecutando 
en el evento Page_Load, deberia ser en otro evento? Deberia tener algun tipo de 
header HTTP especial para recibir el HttpWebRequest? Tendra que ver con el 
Encoding?
         
        Si alguien puede iluminarme, lo agradeceria mucho.
         
        Matias


------------------------------------------------------------------------

        Your friends are close to you. Keep them that way.



--------------------------------------------------------------------------
      i'm making a difference. Make every IM count for the cause of your 
choice. Join now! 


------------------------------------------------------------------------------
  Your friends are close to you. Keep them that way. 

Responder a