Hola, Entonces porque estas usando un objeto para utilizar XML ? Porque no usas HttpWebRequest o WebClient, ambos en cualquier version de .net
Saludos! 2008/7/16 Mariano Selvaggi <[EMAIL PROTECTED]>: > Antes que nada, les agradezco muchisimo su tiemo, hay un monton de cosas que > no estaba al tanto. > Les explico rapidamente porque necesito hacer lo que estoy haciendo en mi > aplicacion > > Mi aplicacion es un aplication ASP .NET. Esta aplication tiene un boton que > se llama "Generate". El proceso basicamente es el siguiente: > > Loop 800 > 1. Leo html de pagina asp correspondiente, obtengo parametros del > SQL (son reportes que se encuentran en paginas asp y > > es imposible migrarlos porque son miles) > 2. Html lo paso a un objeto que me convierte el string (el html) en > un pdf > > 3. Subo el pdf a un sharepoint > Fin de loop > En produccion tengo un servidor SSL porque es standar de la empresa, trabajo > en una empresa global y no hay forma de cambiarlo, la verdad que es bastante > plomo el tema. > > Basicamente el error que tengo es "A connection with the server could not be > established " tanto cuando uso MSXML2.ServerXMLHTTP30 o cuando usao > MSXML2.XMLHTTP30 > > Si conocen alguna otra forma de hacerlo la intento porque estoy medio > complicado, por ejemplo ese metodo Execute, con ese metodo puedo hacer lo > mismo?? > > De nuevo, muchas gracias gente, es muy util toda su informacio y la lista es > siempre mi mejor recurso. > ----- Mensaje original ---- > De: Diego Jancic <[EMAIL PROTECTED]> > Para: puntonet@mug.org.ar > Enviado: martes 15 de julio de 2008, 22:15:47 > Asunto: [puntonet] Objeto MSXML2.XMLHTTP30 en sitios con SSL > > Hola Mariano, > > Si bien estas usando ajax en el sentido especifico de la pagina, no me > refería a eso y te pido que te olvides de lo que dije porque no estaba en > contexto. > > > > Ahora, lo que vos tenes que te hacer debería funcionar (configuración mas o > configuración menos lo deberías poder hacer), sin embargo no es lo optimo. > > En términos generales, tampoco seria lo optimo que uses un HttpWebRequest o > un WebClient o cosas similares. 2 razones que se me ocurren: > > > > 1) Si haces esto lo que va a pasar es que el thread con el que estes > ejecutando paginaMaster.aspx se va a bloquear esperando que termine de > ejecutarse tu request, y como a IIS le va a llegar otro request (a > paginaReporte.aspx) va a tener que utilizar otro thread. Entonces vas a > estar utilizando 2 threads para ejecutar un solo request, y encima uno lo > vas a tener sin hacer nada. Si a esto le sumas que IIS limita la cantidad de > threads simultaneos, y el costo que tiene levantar un thread, yo te diría > que vas a bajar la performance de esta página en particular a la mitad. > Sumandolo el gran riesgo que te voy a decir en el pto 3. > > > > 2) Cuando vos haces un request usando un HttpWebRequest, o el > MSXML2.XMLHTTP30 o lo que sea, vas a estar haciéndolo como si usases un > browser (como ya había dicho Carlos). Si se hace un request usando un > browser, vas a estar ejecutando de nuevo todo el sistema de autenticación y > autorización de asp.net, vas a estar ejecutando todos los HttpModules de > nuevo e incluso podes llegar a crear sin darte cuenta un nueva Session que > te va a estar pesando durante los próximos 20 minutos. Ahora, si a vos te > interesa usar alguno de los HttpModules específicamente (por ejemplo el del > OutputCache) lo vemos en particular, por posiblemente convenga hacerlo > manualmente. > > > > 3) Sumando estas 2 cosas, vas a tener un problema que te puede tirar la > aplicación abajo. Suponete que IIS atiende máximo 100 requests simultaneos > (no me acuerdo cual es el default), cuando vos tengas 99 requests > ejecutándose, y un usuario entre en paginaMaster.aspx, la pagina va a hacer > internamente el request 101 y IIS lo va a encolar. Ahora, ni el request 100 > ni el 101 se van a ejecutar hasta que otro termine, provocando que los > request encolados se empiece a procesar mas lentamente (ahora tenes 99 y no > 100 threads simultaneos!), esa lentitud adicional va a crear un entorno mas > propenso a que se encolen mas request. Creo que podes imaginarte como sigue, > un pequeña lentitud va a hacer al servidor mas lento aun, provocando que se > vuelva mas lento hasta que básicamente explote todo J.. En el peor de los > casos podrías llegar a tener 100 requests a paginaMaster.aspx ejecutandos, > en donde los 100 request subyacentes a paginaReporte.aspx estén encolados, > provocando que no se procese absolutamente nada y acumulando mas requests a > la cola. > > > > Bueno, creo que la explicación es mas complicada que la solución :P. > > Te recomiendo que uses el método: > > void Execute(string path, TextWriter writer, bool preserveForm) > > > > Que lo podes encontrar dentro de HttpServerUtility (o de forma práctica en: > HttpContext.Server) > > > > De esa forma lo que haces es renderizar toda la pagina en memoria (en > realidad podría ser en cualquier Stream: un archivo, la red, etc, etc), > pero: > > - Usas el mismo thread que la pagina inicial > > - Te salteas toda la parte de autenticación y autorización que ya > esta hecha (no la haces 2 veces) > > - Te evitas encriptar paginaReporte.aspx, para desencriptarla > dentro de paginaMaster.aspx y volverla a encriptar para mandársela al > cliente. > > - Toda la ejecución se mantiene dentro del entorno de .net, no > estas saliendo por TCP para hacer un request al IIS y volviéndote a meter en > el mismo servidor. > > > > La única desventaja es: las 2 paginas tienen que estar dentro del mismo > servidor, y más específicamente dentro del mismo application domain (no > estoy del todo seguro si es la palabra correcta, básicamente tienen que > estar bajo el mismo web.config y carpeta BIN las 2 paginas) > > > > Si necesitas un ejemplo avis y lo hago/busco. > > > > Saludos, > > Diego > > > > > > From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Mariano > Selvaggi > Sent: Martes, 15 de Julio de 2008 10:12 p.m. > To: puntonet@mug.org.ar > Subject: [puntonet] Objeto MSXML2.XMLHTTP30 en sitios con SSL > > > > Hola Diego, > > > > Gracias por contestar. Siempre estoy en el mismo dominio. Es decir, intento > acceder a una pagina del mismo server. Supone que mi AJAX esta en la pagina. > > > > https://sales.mariano.com/paginaMaster.aspx > > > > Entonces, dentro de esa pagina intento acceder a una pagina en el mismo > server: > https://sales.mariano.com/paginaReporte.aspx > > > > O sea, ya me autentique en el sitio, no entiendo porque razon me esta > fallando.. > > > > Saludos > > > > ----- Mensaje original ---- > De: Diego Jancic <[EMAIL PROTECTED]> > Para: puntonet@mug.org.ar > Enviado: martes 15 de julio de 2008, 17:02:18 > Asunto: [puntonet] Objeto MSXML2.XMLHTTP30 en sitios con SSL > > Hola, > Me parece que el problema lo vas a tener siempre que cambies de > dominio (en relacion con la pagina donde esta el codigo ajax)... > Intenta hacer una pagina, que la abris mediante https y ahi pones tu > JS (usando una url relativa, sin incluir https://dominio.com) > > Porque de la forma que lo estas haciendo, no te deberia andar en > ningun browser moderno (salvo que me este olvidando, pero me llama la > atencion..) > > Saludos!, > Diego > > 2008/7/15 Mariano Selvaggi <[EMAIL PROTECTED]>: >> Hola Lista, >> >> >> >> Tengo un gran problema, a lo mejor algunos de ustedes conoce la solucion. >> Tengo un pequeño proceso que basicamente hace lo siguiente: >> >> >> >> Dim url As String = "https:// ......." >> >> Dim objxML As New MSXML2.XMLHTTP30 >> >> Dim rst As String = "" >> >> >> >> objxML.open( >> >> "GET", url, False) >> >> Try >> >> objxML.send() >> >> rst = objxML.responseText >> >> Catch ex As Exception >> >> rst = ex.Message >> >> End Try >> >> Response.Write(rst) >> >> objXML = >> >> Nothing >> >> >> >> Cuando lo hago en una pagina que no es https me funciona perfecto, el >> problema lo tengo ahora en el servidor de produccion que tiene SSL. >> >> Cualquier ayuda sera muy bien bienvenida. Muchas gracias!! >> >> ________________________________ >> ¡Buscá desde tu celular! Yahoo! oneSEARCH ahora está en Claro >> http://ar.mobile.yahoo.com/onesearch > > > > ________________________________ > > ¡Buscá desde tu celular! Yahoo! oneSEARCH ahora está en Claro > http://ar.mobile.yahoo.com/onesearch > > ________________________________ > ¡Buscá desde tu celular! Yahoo! oneSEARCH ahora está en Claro > http://ar..mobile.yahoo.com/onesearch