Mis conocimientos y peleas con ASP.NET, SharePoint y todo lo que tenga que ver con Microsoft
Bienvenido Luis, esperamos que nos escribas a menudo.
Un saludo
Luis ... bienvenido .. :D
seguro q nos vemos "online"
Saludos
Bienvenido!!!!
Encantado de conocernos :)
interesante, si te puedes conseguir los slides, mucho mejor. Gracias por el avance de verdad muy bueno
Hola:
Es muy interesante. Pero si utilizamos procedimientos almacenados, ¿qué opinas del DataTierGenerator para la Enterprise Library (http://www.gotdotnet.com/workspaces/workspace.aspx?id=ec008788-3ad7-4d70-8c09-f496853e15c3) ?
Un saludo.
Si te digo la verdad todavía no había pensado en los procedimientos,está que tienes razón y que habría que pensar como desarrollar algún método para que en base al DataSet obtenga una serie de procedimeintos almacenados ya creados o en caso de no existir los cree y los utilice. La verdad es que esto se me ocurrió el otro día y solo había desarollado la parte que me hacía falta, pero poco a poco se irán implementado nuevas funcionalidades.
En cuanto a DataTierGenerator no la conocía. La echaré un vistazo.
Salu2.
La verdad es que tienes toda la razon... la charla a pesar de poder ser muy dura (vease lo que hace Ingo Rammer, muestra lo mismo, pero mucho mucho mas duro y dificil de seguir) David ha conseguido darle el toque para que sea facilmente asimilable (dentro de lo que esto significa en una charla de 2 horas) y la gente estaba bastante receptiva.
Te dejo un privado pasame un correo y te cuento.
Apasionante. Y sin embargo, poco "práctico".
Me explico: No se pueden estar cambiando constantemente los paradigmas y patrones de análisis, desarrollo, implementación etc de los proyectos, cada vez que un señor que es una eminencia nos diga "mira, todo lo que has estado haciendo hasta ahora, está mal". Yo empiezo un proyecto de 12 a 18 meses de desarrollo y lo planifico en tres capas: Un servidor SQL Server 2005 por una parte, por otra meto 10 o 12 PCs que actuarán de "capa intermedia" y finalmente los clientes, que son el número que sean. Y decido que voy a usar .NET como entorno y plataforma, y además Remoting en lugar de Webservices.
A los seis meses leo, en una columna de un señor que es MVP, MCSE, MCSD, MZYX, MJFK y MQBS (Madre Qué Bueno Soy) que Remoting es caquita y lo más 'cool' (y por donde irán los tiros, que es lo importante) es usar servicios web con los WSE. He de habilitar IIS en los servidores de aplicaciones. Reescribe la aplicación.
Tres meses más tarde leo a otro señor que aparte de todo lo del anterior, es también MMQT (Mucho Mejor Que Tú), que dice que los Rich Client están muertos, que dónde vas distribuyendo esos ejecutables de 14 MB, qué cutrada por Dios. Ni ClickOnce ni gaitas escocesas, lo que hay que hacer son aplicaciones web, que para eso Dios (aka Bill Gates) nos ha dado los web forms y los web controls. Bueno... venga, va. Empieza de nuevo la aplicación.
Cuando ya empezabas a familiarizarte con .NET 2.0 resulta que te anuncian el Vista con su WPF, y su WF... y otro señor que tiene certificaciones con todas las letras del abecedario además de siete blogs y escribe columnas en cuatro revistas (¿de dónde sacará el tiempo esta gente?) te dice que ahora sí, que esta es la refinitiva, y que de verdad de la buena que los programas del futuro se van a hacer de esa nueva y revolucionaria manera.
Y así, conforme te van metiendo zarandajas en la cabeza, tú te ves obligado a acatarlas (nadie quiere que digan de él que no está "a la última", ¿o conocéis a alguien que aún programe en Pascal estructurado?) y estas constantemente cambiando tu planificación, tu infraestructura, tus metodologías y hasta tus ideas; y todo ello no hace más que ir retrasando y retrasando tu proyecto, y el cabreo de tus jefes (o clientes) aumentando y aumentando...
Pero bueno si los señores con muchas certificaciones lo dicen...
Estoy completamente deacuerdo con vosotros, estoy hasta las narices de perder tiempo pensando joder ahora que tengo 200 formularios voy ha tener que reacerles pensando en WPF, para adaptarme a las nuevas tenologias, y usar una arquitectura con WS para aprovecha toda mi capa de datos y negocio, buaaaaaaahhh, me dan ganas de volver al clipper, e incluso a ensamblador, casi me gustaria escribir aplicaciones en binario y olvidarme de todo este cristo... n-capas, ws, ado 2.0, EDM, Remoting, Patrones de diseño, Enterprise Library, Pruebas Unitarias, mock objects, mierda, mierda, mierda...
Joder, por fin alguien que piensa como yo!!!!
Desde mi punto de vista el tema del desarrollo de software se está pareciendo muchísimo al concepto de consumismo que existe hoy en día (A mi me lo parece), porque parece que si no usas patrones, Mocks, Pruebas unitarias.... etc parece que eres un cavernícola o un atrasao, vamos que sino tienes un bmw serie 1,3,5.. Mercedes o un audi a3, sino vistes cool o de armani y mierdas o sino tienes un TDT, una camara de fotos de 300 mega pixeles o un ipod en esta socidad de consumismo no eres nada, no será mejor que con lo que tenemos aprenderlo bien y trabajarlo bien y luego habrá tiempo de cambio...
Anada ya!!!! como dicen en el programa de radio que me gusta tanto...
Tienen toda la razon, al parecer las mejoras tecnologicas no son necesariamente lo que me mejor se adapte a un desarrollo. A veces tenemos que dejar un poco atras estos nuevos paradigmas y sencillamente sacar el producto rapido porque si no tenemos problemas con el cliente. MS sufre de esa mania de estar reinventando tanto, pero a la final siempre es lo mismo si se te pones a detallar los cambios. Simplemente nos estan estructurando y generalizando el trabajo para supuestamente evolcionar nuestro codigo, pero casi siempre se pierde el trabajo realizado porque la tecnologia cambia demasiado rapido q a veces nos sentimos como dinosaurios con el trabajo ya echo.
saludos !!! y creo q me voy a cambiar de profesion.
tiene algun ejemplo de cargar una imagen gift mientras SE PROCESA UN PROCEDIMIENTO ALMACENADO ????
Pues actualmente no, pero voy a ponerme manos a la obra para preparar un ejemplo.
Salu2
en primer lugar quisiera opinar sobre este post de Luis Ruiz Pavon, y sobre todo en los comentarios...
en primer lugar quisiera opinar sobre este post de Luis Ruiz Pavon , y sobre todo en los comentarios
no necesitas pasar los parametros como ref, es muy raro que se requiera el uso de ref
salu2
esta bueno el apunte
mis 2 centimos...
En soporte entran muchos casos de aplicaciones con problemas de memoria donde el único problema es que debug no esta puesto a true y se generan assemblies nuevos en lugar de cachearse.
es REALMENTE importante que en producción esten solo las cosas preparadas para producción :)
Gracias por el apunte Lluis :D
La verdad es que suele ser así. Una lástima.
El Analista sabrá lo que dice... ahora bien, no comparto las formas de ese Analista, pero essa cosas pueden surgir en los reinos de la programación.
¡Paciencia! ;-)
Yo creo que quien sabe lo que dice rara vez tiene que recurir a la autoridad investida por terceros como argumento.
Saludos!!!
Este final es tan "brusco" como frecuente.
Es lo que hay. Si quieres las comes y sinó las dejas.
En fin, Saludos
Si, yo siempre me he preguntado si Analista tendra algo que ver con anal....
Antes de empezar un proyecto realizamos estudios de factibilidad presentando propuestas de que herramientas, tecnologías, métodos, procedimientos utilizar para llevar a cabo el proyecto, ya definido todo este protocolo y ponernos de acuerdo con el cliente, *** hombre porque ponerle mente a lo que dicen estos cachimbo de locos certificados cuando realmente ya tenes definida tu forma de trabajo...
Porque cambiarla? Ok si por casualidad el cliente requiere cambios a mediado del proyecto se le hace ver a que hay que realizar reingieneria con respecto al o nuevo que desea y claro cobrar mas jejejej... yo no me complico tanto la vida y claro siempre estar al tanto de lo nuevo…
¡Mola! ¿Cual será el contrataque de Windows Live? :P
buenisimo, gracias, ahora lo intentare con checkbox y te aviso si resulta
pues si, ya cuando se mete uno en estas ondas, empiezan a salir otros detallitos, que resulta que se estan guardando los tipos bool como ints (0,1), que algunas propiedades son readonly, que usas nullable types, etc... y va creciendo el codigo... y luego la pregunta si mejor deberia usar uno un ORM, que realmente es lo que hacen
Pero para ciertas cosas viene de maravilla, como por ejemplo esta, que en un bucle de 4 líneas te quitas 40 o n líneas de código.
Hola Luis,
Lo que indicas es cierto, pero no del todo correcto... el problema es que los tipos primitivos (int, double, etc etc etc) no son objetos y estan en el thread stack, sin referencias a objetos.
El metodo String.Format acepta parametros de tipo Object y por tanto, al ser objetos, requieren una referencia en la Managed Heap. La forma de conseguir esto es haciendo boxing del objeto (que hay que intentar evitar)
Sin embargo, lo que produce el boxing es la conversion del tipo double a string ... no por la conversión en si, sino por meterlo dentro de un Object (que es lo que String.Format necesita) ... sin embargo, si cambias la linea por esta:
string formato1 = String.Format("{0}", d.ToString());
la llamada a String.Format sigue siendo la misma, pero ya no se producira el Box, porque el objeto que devuelve ToString es de tipo Object.
Tengo un post inacabado sobre boxing, unboxing, tipos por valor, por referencia, thread stack y managed heap... era un poco largo y por eso no lo publique. Igual lo termino.
Buenas Miguel, me gusta que la gente se anime y opine en los post, porque así se se pueden aprender muchas cosas.
En referencia a la línea de código que comentas he de decirte que al probarla me he encontrado con esto:
string formato1 = String.Format("{0:C}", d.ToString());
Salida: 12,45
string formato1 = String.Format("{0:C}", d);
Salida: 12,45 €
Era sólo una curiosidad.
Salu2 y gracias por tu comentario Miguel.
De nada... era solo por denotar que la culta no es del string.format, sino de como se le llama.
El format C sin un numero, no hace ni caso jejeje :) solo hay que buscar un tipo que herede object y que no haga el boxing y sea numerico... pongamos por ejemplo, el System.Double con la d en mayuscula. Digamos que la primitiva double, es una referencia la clase System.Double, float a System.Single, string a System.String, etc etc etc..
Esos ya son objetos, asi que no deberia hacer el boxing
Miguel acabo de probar con System.Double:
Double d = 12.45;
resultado IL:
IL_0010: box [mscorlib]System.Double
System.Double es struct y es un tipo por valor, así que hace Boxing.
Y si se quisieran obtener los valores de una enumeración, cómo podría hacerse ???
Mira este post:
http://geeks.ms/blogs/sergiotarrillo/archive/2007/01/07/8342.aspx
Me parece muy interesante... Estaría permitido poner ese código AdSense en los blogs de Geeks? No se la política del sitio con respecto a los anuncios...
Pues si te digo la verdad Augusto no lo sé, pero estaría bien poder colaborar con esta causa.
Holas Luis!
Si sabemos que esa página aspx siempre devuelve imágenes, una forma de no usar tryCatch sería verificando el tamaño del stream mayor que cero. Claro eso depende del escenario, en que casos no existiría una imagen?
También se podría verificar si hubo response o no de la página. Es decir tratar de descartar las cosas visibles con if/else antes de entrar a try/catch.
Por cierto, no se ve todo el ancho de tu código, creo que este skin no te favorece.
Saludos,
OK Sergio ya he cambiado el Skin ;)
En cuanto a lo del tamaño del Stream, si intentas hacer esto:
System.IO.Stream receiveStream = response.GetResponseStream();
Response.Write(receiveStream.Length);
Te salta la excepción:
Esta secuencia no es compatible con operaciones de búsqueda.
Por eso no pude acceder a ciertas propiedades del Stream, pero lo del Length lo pensé desde el principio.
Pues lo siento estoy en desacuerdon con vosotros.
Por un lado microsoft tiene que vender y para vender tiene que cambiar las cosas... eso no dice que sea para mejor o para peor. Solo dice que lo que manda es el dinero y para ganarlo es sacar lo utlimo y ponerle la etiqueta de cool y nosostros programadores-borregos vamos tras de el. Nadie a pensado porque de tiempo a esta parte ( desde .net) todo lo que dice microsoft va a misa... que pasa con borlad que tiene mas tiempo en este campo de la programacion no dice ni mu.
Creo que la revolucion ya llego ahora lo que hace es darle vueltas para conseguir lo mas facil...
Y es ahi en donde discrepo con vosotros... no veo un gran adelanto con los webservices el adelanto lo dio .net y ahora el siguiente paso y digo siguiente sea ajax que mesclado ocn cualquier plataforma ( .net, php u otros) da la potencia que necesita la programacion web..
Entonces que hacemos con lo nuevo que saque la majestuosa microsoft... pues nada... yo no cambio un proyecto por algo que acaba de salir... de todo es sabido que la primera version no es la mejor... ( e incluyo .net 1.0) .
Creo que sobra estos mosqueos de programador ( jejeje) de que hago si microsoft dice esto o aquello...
Desde hace muxho tiempo esta ya la programacion 3 capas y se ha visto que funciona, no en todos los casos funciona, y hay otra cosa mas importante segun el proyecto se utilizara una u otra... ( webservices, 3capas, programacion logica en BBDD etc etc).
Yo soy una persona que me gusta saberlo todo pero no quita que lo implemente todo o lo ultimo.. sino como analista que soy tengo que llegar a un termino medio entre la programacion y la analitca de la programacion. Todos sabemos que hay muchas maneras de hacer una misma cosa.. pero la buena es aquella que a termino medio tiene mayor numero de propiedade al maximo.
Lo que si es cierto que si un nuevo metodo de programacion nos facilita la vida como programadores hay que añadirlo a nuestro repositorio de medios de programacion.
cual es la diferrencia de usar String con 'S' mayuscula y string 's' letra minuscula
Es lo mismo porque si te das cuenta el compilador reemplaza string por System.String aunque yo siempre he oido que string es el dato primitivo y String es el evolvente del tipo primitivo string.
Que me corrija alguien si me equivoco.
Grande Amstrad! Yo empece en un 6128 (no por tener mas pasta, se lo regalaron a mis primas y no lo usaban) y he seguido tu camino, claro que a yo no he crecido tanto como tu, figura ;)
Has crecido tanto o más que yo colega ;)
En la mayoria de los casos, el programador sabe mucho mas que el analista. Anuque hay sus excepciones.
La liga esta rota para
ver el demo y bajar el dodigo fuente
Intento bajar el ejemplo pero me indica que ya no esta disponible. Me podrian ayudar colocandole disponible?. Gracias
Estoy colaborando en un proyecto desde hace 2 semanas en las que me he encontrado con un código que usas que nunca antes había visto.
¿Me puedes echar una mano para entender qué es y qué hace?
if (typeof(Page_ClientValidate) == 'function')
{ if (Page_ClientValidate())
Mil gracias!!!
Abundando en el tema de las diferencias entre String.Format y ToString hay un tipo de formato que puedo hacer con String.Format pero no consigo hacerlo con ToString:
string s = String.Format("{0,12:N4}", 123.456)
4 son los decimales y 12 es el ancho total alineándose a la derecha
¿Sabéis si se puede hacer lo mismo con ToString?
Los 2 enlaces que he puesto al final ;)
Arreglado!!!
La clase base permite "arrastrar" la funcionalidad, con lo que las clase derivadas tienes esa funcionalidad automáticamente.
las interface solo definen la funcionalidad, pero no la implementan, con lo que obligan a las clases derivadas a implementarla.
Por ejemplo, una clase base puede proporcionar un método para conectar a la base de datos Connect(), este método se implementa una vez y listo. Si creamos una interfaz, tendriamos que "picar" el código en la clase derivada.
Si rizamos el rizo, definamos la interfaz y la implementamos en una clase base.
Saludos, Sabes estoy empezando con esto de .net pero me he complicado con las sessiones, no se si estara bien pero podrias realizar algun ejemplo ya q en tu comentario demuestras conocimiento...q chupamedias jejejej.... bueno en resumen si puedes escribir algun ejemplo q ocupe las sessiones con login , te estare eternamente agradecido
aios
esto es solo para IE, correcto?
lo probe con Firefox 2.0.2 y no funciona, con IE7 funciona bien... creo, me da otra ventanita cuando cierro el browser
Hola Eber, sólo lo he probado en IE 6.0.2900.2180 porque es con lo que trabajan en el cliente.
Intentaré probarlo en FireFox e intentaré adecuarlo y lo posteré.
Gracias por tu aporte!!!
Me puedes especificar mejor lo de las sesiones con login para preparar el ejemplo.
Lo mas tonto es que dice que esta actualizacion aplica a IE 4.0 y anteriores, a estas ALTURAS!!!(eso no se lo cree,ni el que lo invento) jejjejej.
Eso esta bien malvado .
Un Saludo
A mí lo que realmente me ha gustado es esto:
How to use
You don't need to do anything after installing this item.
¡¡¡Jajajaja!!!, ya se encarga el propio "parche" de hacer todo, ¡de eso estoy seguro!. :-P
Los Emilios nunca fuimos buenos!
jejeje ... sin comentarios ... jejeje
(es para partirse al medio de risa)
Yo todavía me estoy riendo y cada vez que lo veo mas XD
jajajajajaja
Sin palabras me he quedao xDD
Ademas si os habéis fijado, en el anuncio original SOLAMENTE dice que busquen ANALISTAS (en el hilo de Rodrigo se ve esa imagen original). Que en esta "version" del anuncio se han encargado de eliminar, y al ladito ¿qué vemos? Oooohhh! Bajada de humos (¿o de pantalones?) y, venga va, vamos a aceptar tambien a la chusma plebeya en nuestro selecto club social...
Pero creo que es la primera vez en mi vida que veo que la respuesta de la gente a un anuncio, tenga como contra-respuesta un "contra-anuncio" donde dicen que donde dijeron digo, ahora dicen diego.
En fin, yo sé positivamente que Alhambra-Eidos es mucho más que su dpto de Marketing... ;-)
En ningún momento de mi artículo he querido ofender a nadie, no digo nada referente a la empresa, su trabajo y profesionales, es más en mi antigua empresa ácudí a esta empresa a recibir formación de parte de grandes profesionales y siempre he tenido alagos hacía ellos (Mis compañeros de trabajo lo saben), pero lo innegable es que desde mi punto de vista esto ha sido una cagada de campaña publicitaria de cojo... y lo peor es echarte atrás negando lo que en otro anuncio se ve y encima tirando pullitas a gente que dedica su tiempo libre en sus blogs a compartir su conocimiento desinteresadamente con todo el mundo.
Hola, me interesa tu ejemplo pero no lo puedo descargar, te agradeceria que lo vuelvas a poner..
Gracias
Mario
OK, teneis toda la razón ;)
Puedes descargarlo:
http://www.gotdotnet.com/workspaces/workspace.aspx?id=ec008788-3ad7-4d70-8c09-f496853e15c3
Lo he probado con la versión 1.5.0.4 de FireFox y funciona perfectamente con la 2.0.2 no lo he probado todavía.
Excelente artículo... que recuerdos ver pantallazos del dcomcnfg.exe a estas alturas de la vida con .Net 3.0 rulando por ahí... DCOM forever!!
jejeje
36Mb de memoria cada uno = una instancia de Excel ... el gran problema de la interfaz com q exporta excel es q e no es un com, es un activex exe !!! (el RCW se vuelve loco)
Y pensar que hace unos años una herramienta conocida de reporting "incluia" las capacidades de reporting de excel y word. Yo me quede flipado y cuando comence a hacer una reverse engineering para ver q hacian, como bien tu dices desp del oApp.Quit(), llamaban a un servicio externo q se recorria todos los procesos existentes y se calzaba a los exceles ... curioso no ?
Estimados creo que estan en lo cierto con muchas cosas en la que dicen aca.. pero cabe destacar que las cosas mejoran y lo hacen tanto en posbilidades de hacer el trabajo mas rapido y mas facil a la prueba entan los lenguajes como Visual Basic.Net o C#, bueno los de esta plataforma..! En lo que si no estoy de acuerdo en que cambien tan rapido y nosotros tengamos que seguirle el apunte de forma continua, pues a mi me pasa que no termino de usar algo bien cuando ya practicamente sale un tipo de estos como se lee mas arriba con 50 certificados de todo tipo, con 50 cosas mas que 10 trabajos y otros tantos blogs. diciendo eso ya no sirve, Haganlo asi.. jejeje o sea yo no soy un superdotado ni nada por el estilo, por ahi lo que me costo meses lo tengo que cambiar de un dia para el otro porque no sirve. La pregunta del millon "Dedicarnos a dar soluciones a nuestros clientes o seguirle la punta a los sres. MMQT" y ojo que no estoy en contra de los adelantos solo que no creo que se puedan sacar buenos proyectos cuando no se conocen bien las tecnologias a usar. o ustedes creen que una aplicacion hecha por ej. en Visual Basic no hace lo mismo que una hecha en Visual Basic.Net en realidad el objetivo de todos es dar soluciones informaticas de negocio o cualquiera sea. O alguna vez se preguntaron si el cliente sabe que todo el codigo esta en un boton o esta en una clase..jejeje en fin sera que tengamos que seguir corriendo a Microsoft cuando sale diciendo algo es lo mejor que se invento en años y al otro dia diga esto no sirve para nada vamos a usar esto que es mucho mejor... Conclusion: Creo que lo mejor es desarrollar software de calidad probado y que cumple con lo que se busca solucionar, y no hacer experimentos para que estos sres. vuelvan a cambiar todo porque nos quejamos de que no funciona..Saludos...
Gracias por el aporte Bruno, desconocía que se tratase de un ActiveX.
Y como en el enlace que he puesto al support, no dejes de liberar ninguno o el proceso se queda.
Es verdad que MS no recomienda el uso de excel en el server side pero también lo tacha de ilegal, pues si, si algún día la gente esta de software association llega con la Policía a tus oficinas y ven que estas haciendo esta atrocidad no solo te golpearan por mal programador sino que también te secuestraran tus servidores. Para prevenir esto MS creo el famoso excel services que corre en SharePoint o también puedes usar ASPOSE que son componentes .net creados para este fin.
NUNCA implementen una aplicacion de este tipo
Ante una aclaración de este tipo por tu parte, creo que aparte de llamarme Mal Programador deberías argumentar tu crítica para saber porqué es ilegal.
Yo por mi parte, te dejo un documento donde advierten que no recomienda el uso para server-side pero en ningún momento dicen nada sobre "Malos Programadores", "Golpes", "Policía"... es más como dije al principio ha sido un requerimiento especial y no ha habido mas cojo... aunque claramente digo que Microsoft no lo recomienda:
Considerations for server-side Automation of Office
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757
Muy buen articulo.
Si algo te cambia el SP1 es el IDE, aun no lo he instalado ya que no me he visto en la necesidad, ademas no veo en realidad la necesidad de hacerlo por ahora.
Un Saludo.
Ya, pero aquí las cosas funcionan así y han decidido instalar el SP1.
OK, ya lo he adjuntado, es que la web no he renovado el hosting ;)
alu2
En herramientas -> opciones -> configuración internacional tines como solucionarlo.
A mi me pasa mucho ya que uso el VS en inglés y despues de instalar algunos add-ins el solito cambia la configuración y la pone en castellano = que el SO. Con lo que los menus aparecen en spanglish (unos en español y otros en ingles).
Puede ser por el idioma, yo lo he instalado en varios S.O., y normal, por cierto que tiene el SP1 de VS2005 para ASP.NET: http://geeks.ms/blogs/sergiotarrillo/archive/2007/01/15/8729.aspx y http://geeks.ms/blogs/sergiotarrillo/archive/2007/03/21/12088.aspx.
Luis ...
aqui tienes un reset extremo para el IDE de Visual Studio, desde la linea de comandos de VS
devenv /resetsettings
devenv /resetuserdata
t deja el IDE como recien instalado (en algunos casos suele ayudar, a mi me ha sacado de algun problema :P)
ya me contaras
Saludos desde Lisboa
Buenas hay días en que todo nos sale mal, se te pasa el autobus, te cierran en bar de la esquina, o se
No consigo usar una función para que me devuelva el formato:
<%# Bind("sueldo", me.FormatoSueldo)() %>
¿Hay alguna forma de hacerlo? Porque necesito que el formato cambie según el usuario y/o región.
Gracias.
perdón, he escrito mal el ejemplo anterior, debiera ser:
<%# Bind("sueldo", me.FormatoSueldo()) %>
la pregunta sigue siendo la misma. ¿Es posible hacer algo así sin usar "Eval" que no es bi-direccional?
Pero pero pero... No es un analista, un programador experimentado??
Entonces... ah bueno, claro, de injusticias está lleno el mundo.
También hace Bush lo que le sale de los cojones ante organizaciones o empresas como: ONU, Kioto, etc...
Buenas mientras descanso en las minivacaciones de semana santa completamente desenchufado y con un par
Hola Pablo:
No te sirve el ejemlplo:
<%# Bind("sueldo", "{0:C}") %>
¿De casualidad no estás usando una página anidada dentro de un MasterPage? Es muy probable que lo que esté sucediendo es que los dos eventos repetidos provengan de la ejecución primero de la MasterPage y luego del WebForm, intenta ejecutar tu control en un WebForm sin plantilla maestra y lo comprobarás.
No está mal utilizar la función Math.Round si no fuera que funciona mal, sino comprueba los siguientes resultados:
? math.Round(1.15,1)
1.2
? math.Round(1.35,1)
1.4
? math.Round(1.25,1)
1.2 <---- el resultado debería ser 1.3
Yo he creado la siguiente función para el redondeo:
Shared Function RedondeoDecimal(ByVal dValor As Decimal, Optional ByVal iDecimales As Integer = 2) As Decimal
Dim dValor2 As Decimal
If dValor < 0 Then
dValor2 = -dValor * (10 ^ iDecimales)
Return -Int(dValor2 + 0.5) / (10 ^ iDecimales)
Else
dValor2 = dValor * (10 ^ iDecimales)
Return Int(dValor2 + 0.5) / (10 ^ iDecimales)
End If
End Function
A ver hombre... J.A.S.P como puedes decir que 'redondea mal', crees realmente que puede tener un error en ese código sin arreglar?? Lo que pasa es que estás redondeando con la norma de IEEE, es decir como dictan los estándares. En esa norma, que por cierto es la más justa ( y no la enseñan en la escuela ) se comporta de diferente forma en los impares que los pares, de hay que 1.15 y 1.35 suban a 1.2 y 1.4 y los pares como 1.25 bajen a 1.2.
Si quieres usar la menos justa, y la que seguramente te enseñaron en la escuela puedes usar una de las sobrecargas de Math.Round.
Unai
Hola,
La función Math.Round no está mal J.A.P.S.
Como sabrás hay distintos tipos de redondeo. El que usa por defecto la función Math.Round es el redondeo al "par más próximo" que es el más comunmente aceptado.
En este tipo de redondeo, cuando pides redondear a 1 dígito decimal 1.25 te encuentras a igual distancia de 1.3 y 1.2 que son los números de 1 dígito decimal más próximos. Por lo tanto se aplicar la regla del "par más próximo", que consiste en quedarse con el número par más próximo, en este caso el 1.2. Si lo probases con 1.35 te devolvería 1.4.
Este es el método de redondeo más justo ya que cuando se produce una situación de igual distancia algunas veces se redondeará al alza y otras a la baja. Y además suele ser el obligatorio en algunos ámbitos.
De todas formas, si quieres utilizar otro tipo de redondeo, la función Math.Round tiene una sobrecarga que admite un tercer parámetro que es una enumeración indicando el tipo de redondeo. Con eso ya podrás hacer el redondeo que buscas que se conoce como el "más lejano a cero".
No puede estar mejor explicado Marco.
Sólo puntualizar que la sobrecarga de Math.Round se ha añadido en NET 2.0.
buenas Luis! Yo tambien me rei de lo lindo con el ejemplo de Jose en el boletin de CampusMVP (llevaba unos dias sin leer worsethanfailure.com, y me volvieron las ganas!) }:D
muy buenos Unai y Marco en sus explicaciones sobre la norma IEEE... no hay nada como tener a un monton de crases para contestar los comentarios }:)
Nos veremos en el CodeCamp este mes?
hola phobeo! La verdad es que la gambada es la leche y para serte sincero desconocía la página y hoy me he reido de lo lindo con las gambadas allí publicadas XD
Perdón, se me olvidó mencionar a Unai un crash de las Matemáticas XD
Jejeje, nunca te acostarás sin saber algo nuevo. Jejeje
Comparto lo dicho por Eugenio.. =)
No tenía conocimiento de la sobrecarga de Math.Round posiblemente porque cuando programe esta funcionalidad lo hice en VB 6.0 y en la versión .NET 1.1. Aunque la forma correcta del redondeo sea la norma de IEEE, la mayoria de las empresas utilizan el sistema del redondeo más cerca del 0.
Muchas gracias
En cualquier caso, creo q en tu código hay un mal de raíz que consiste en utilizar el tipo double para representar cantidades monetarias, más propio de lenguajes de generación anterior que no estaban pensados para ser utilizados para cálculos financieros (por ejemplo Pascal)...
.NET nos ofrece System.Decimal para eso.
Saludos - Octavio
Pues tienes toda la razón Octavio, pero eso ya lo modifiqué en su día, como dije la tenía en el HD portátil y no lo actualicé, lo cambio.
Gracias!!!
No funciona con opera 9
PingBack desde http://geeks.ms/blogs/lruiz/archive/2006/12/27/deshabilitas-el-atributo-debug-false-cuando-pasas-tu-aplicaci-n-web-a-producci-n.aspx
En mi anterior artículo hablaba sobre la importancia de este atributo de configuración en las aplicaciones
Querido Error .
Comparto las opiniones negativas expresadas por ustedes al respecto.
En mayo del 2007 utilizando VS 2005 y luego de dedicar años a estudiar .NET y de desarrollar tres proyectos grandes y convertirlos de 2003 a 2005, estoy harto de esta enciclopedia teórica y poco práctica. Si este es el supuesto RAD para el siglo XXI tocará esperar otro tanto. Es caprichoso, no existe una forma unificada para hacer algo, escribir código es al estilo “Babel”.
Microsoft promete que todo se puede hacer visualmente, y que no es necesario saber HTML, XML, Java script, CLR, ATLAS, mas las que vienen (compre), pero todas ellas se requieren obligatoriamente, es un híbrido acogiendo tardíamente las tecnologías web. Esta fabulosa enciclopedia, en los tiempos actuales cuando se espera una gran facilidad y unificación en el desarrollo, es decepcionante. Horas y Horas buscando mensajes de error imprecisos, que no orientan en nada, exageradamente cortos, con una ayuda que no corresponde a las actualizaciones recientes del producto y que obligan a perder mas tiempo buscando infructuosamente soluciones por supuesto con el desmejorado “Google”.
Todo debe ser perfecto hacia adelante, diseñe al 100% (ingeniería UML), si al finalizar hay que hacer algún cambio o mantenimiento, la cosa se desintegra (haga ingeniería reversa para descubrir los errores), esto es de mucha paciencia. Pretender hacer las cosas mas elementales que eran superfluas, aquí son intratables.
Si .NET es tan fácil y poderoso, porqué no existe Access.Net y FoxPro.Net no le seria a Microsoft cuestión de meses hacerlo ? , injustificable dados los fabulosos y costosos productos y servicios que los reemplazaran. Ya no les son rentables este tipo de herramientas ya están al tope, se dedicaran a cosas al estilo SAP, perdiendo y desplazando a los desarrolladores.
Tendencias como Eclipse y otros libres, son la alternativa a quienes no han incursionado en .NET y quieran esperar el futuro inciertamente brillante del CASE.NET el que será abandonado como el nostálgico FoxPro, en favor del Ruby.NET
Visual studio 2005, .NET quejas y horrores
Hoy Mayo del 2007 cuento con un Súper Dual Core 64x2 Quad, mis inicios fueron con un PC Celeron a 300Mhz, que utilice seis años, musculado claro, lento pero seguro. Con Windows server 2000, Visual Studio 2003 y SQL Server, la cosa fue muy tortuosa, asignaba muchos errores a mi fiel PC. Pero ahora los confirmo, no eran cosa del PC:
La velocidad del PC y de la sincronía de los procesos paralelos y ocultos frente a lo que uno ve en la pantalla (interface) o a la velocidad con que digita el desarrollador no están en perfecta sincronía.
Muchas veces uno ve un ícono o un elemento sobre la pantalla, da click sobre ella y la cosa se queda estática o muestra otra cosa, deja seguir trabando y uno escribe cosas en sitios que no corresponden, pues uno confía en que la cosa le hizo caso al click, hasta que él lo alcanza y empieza a mostrar cosas extrañas y uno tampoco sabe que fue lo que hizo mal. (Devuélvase y empiece).
Demasiada inteligencia para unas cosas pero no para otras mucho mas obvias, muy inconsistente. Ejemplo si establece que los parámetros son “@talnombreColumna”, y luego de que todo marcha bien se hace un ajuste o modificación, el SourceColumn que es “talnombreColumna” desaparece o no lo toma. Vaya entonces a revisar que fue lo que hizo o que fue lo que dejo de hacer, ridículo. Recorra absurdamente su código, los cientos de propiedades, el código generado automáticamente, y su código en la base de datos, que estupidez.
Son tal los tips and tricks y la inseguridad con el producto, que uno no sabe si al dar click en el ícono de los diskettes el proceso de salvar es reconocido por el resto del código. Revise nuevamente, así no hay cuando acabar.
A pesar de que en el Server Explorer se ve la conexión con SQL Server, el ADOxml.xsd no esta on-line y no ve los cambios en las tablas SQL , hay que reiniciar arrastrando y soltando (devuélvase y empiece). Si uno en el table adapter define el Command Type como procedure, y da click sobre el command Text a veces como que si muestra los procedures y a veces no, no concreta el proceso. Dependiendo del orden en que uno establece el Command Select, él le cambia el nombre a la tabla que ya era correcto por el nombre del Select, devuélvase a detectar el error.
Lo mejor de todo y lo más maravilloso es que repentinamente todo empieza a funcionar. Después de semejante trauma, luego de horas de trabajo, el Garbage Collector se llevó toda la basura, hasta prendió el sistema refrigerante del PC la temperatura bajo y la fiebre de trabajar con esto se apagó.
Que maravilla.
Anonymus
La verdad es que no me he planteado todavía hacerlo estandar XD Si alguien se presta ;)
Tu mamá contratacará
En mi anterior artículo hice referencia al primer artículo de Patrick donde explicaba la importancia
Y se puede hacer con imagenes?
Muy interesante Luis.
Y si los quieres obtener en un idioma concreto (si no tienes el idioma en automático como indico aquí: http://www.jasoft.org/blog/PermaLink,guid,659bc8a5-5f82-43c9-9379-8127b4e90bd7.aspx) puedes poner lo siguiente antes de nada:
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-us");
para obtenerlos en inglés de EEUU y lo mismo para cualquier otro idioma.
saludos
JM.
Me lo apunto Jose ;)
excelente articulo,
podrias cambiar el color de tu blog
OK, sugerencia aceptada ;)
Muy bueno Luis :-)
Gracias Jose ;)
El primer día que me pasó presentando una aplicación en el cliente creía que me moría...
Hola
Tu articulo esta muy interesante y funciona bien, ahora yo tengo ese problema pero con word :( y no hay un application Word en el adm de componentes alguna vez hiciste con word?? si lo hiciste a quien hay que dar permisos ??
sergio
otra vez yo,
como una alternativa para no utilizar el excel está utilizar el ado.net directamente para escribir el excel, tengo un pequeño ejemplo si lo quieren ver en mi blog, que por cierto estoy recien comenzando :)
http://sergiotardio.blogspot.com/2007/05/excel-y-adonet.html
como tu dices "no hemos tenido que grabar el fichero en disco" pero yo quiero grabarlo en el directorio c:(c:/miPdf.pdf) como se hace
Hola Luís,
He estado probando tu ejemplo y hay una cosa que no acabo de entender. El evento onunload dispara la funcion Logout() en cada post-back, independientemente de si le he dado al boton X de cerrar explorador. ¿Cómo se sabe si el usuario ha pulsado el botón de cerrar el explorador (no el de salir imgBtnSAlir? ¿Hay que poner a 1 el valor de logout en cada click de cada control de la página susceptible de lanzar un postback?
Te ha faltado explicar como hacer para que se detecte el idioma a través del que está configurado en el navegador ;)
OK Neu tomo nota y en la siguiente entrega lo incorporo.
Gracias por tu comentario ;)
jajajajajajajajajajajajajajajaja
JA JA JA JA JA JA JA JA JA
Linux, porque es mas abierto...
Menuda imagen, muy gracioso eh!, caray, a coger la tecnologia y saber usarla para dar buenas solucionar... y listo! ...
Percy Reyes,
En mi anterior artículo estabamos hablando sobre los tipos de recursos existentes y ya vimos los recursos
Mira a ver si te sirve el DCOM -> Documento de Microsoft Word.
Como alternativa a utilizar COM de Excel te recomiendo ASPOSE.
Por lo que leí esta bastante interesante e ASPOSE lo unico malo es que no es gratis :)
Te cuento que estoy utulizando ado.net para cargar una planilla desde un datatable, pero he notado que para cargar miles de registros, uno a uno se pone lento, mas de lo que quisiera, y me preguntaba si no conoces alguna forma de llenar todo un datatable direco a un excel , pero de preferencia con ado.net sin componentes que comprar :)
Por otro lado he dejado de utilizar el word y estoy utilizando archivos RTF de forma que los abro y hago la manipulacion del stream, no me salio tan dificil, y funciona bien no mas. Lo que yo necesitaba era cartas y sobres tipo que luego se deben combinar con N registros. Lo unico que no me gusta es la manipulacion de los codigos de rtf es un poco lioso y puede ser suceptible a errores.
SergioT
Hola, me esta tomando demasiado tiempo hacer el sitio multi-idioma. Este articulo me mostro un par de cosita que desconocia. En el caso de poder darme un ayudita mas personalizada les dejo apoximadamente mi problema:
Hola, tengo un proyecto en VS2005 y necesito que la pagina web me tome informacion de cookies si es q entro anteriormente e hizo cambios.
Basicamente es una aplicacion finalizada, la cual debe ser ahora multi-idioma. Lo cual ya esta utlizando archivos de recursos como si fuesen diccionario de datos y sus valores en cada idioma. desde la pagina index o default.aspx habria un combo box o link el cual me permita seleccionar el otro lenguaje, cambiando asi la seleccion de lenguaje y generar el cookie con esa informacion par ale futuro. Tengan en cuenta que no estoy logrando es agregar el valor, parametro o variable al cookie con en nombre del archivo de recurso. Una vez logrado esto ya seria facil buscar el cookie "galleta" e identificar el idioma utilizamo en su ultima visita del cliente X.
Desde ya muchas gracias.
hola, de nuevo yo! :p
ya vi los dos articulos y ya tengo toda esa parte resuelta. Yo quiero poder cambiar el idioma con un combo o un link y que esta modificacion me quede almacenada (yo planteaba hacerlo en un c_o_o_k_i_e) asi cuando le navegador(usuario) volviera a entrar al la pagina tenga el idioma que antes habia elegido o bien poder cambiarlo a otro.
muchas gracias y disculpen la insistencia
Aaah. Ya veo.
Antropólogos...
¿Tan malos son los desarrolladores de MS? xDDD
Ya hace tiempo oí esta forma de trabajar que contrata a antropólogos para observar mejor cómo interactúa el ser humano con el ordenador.
Lo que no sé es si estos antropólogos trabajaban para Apple porque Windows Vista es 'clavado' al nuevo MacOS Tiger.
Saludos.
Hola.
Un post muy interesante y, sobre todo, muy bien explicado.
Gracias por los comentarios ;)
Hola, solo una pequeña aclaración
Los validadores de asp.net siempre hacen la validación en el cliente y en el servidor y este comportamiento es por diseño.
Adicional a esto, es importante verificar que las validaciones fueron correctas utilizando el método Page.IsValid
Saludos!
Me alegro de que hayas recogido la noticia. :-)
Un gusto desde luego el estar allí y ver a mucha gente. :-D
Pues sí y encima ver a gente que aprecio y que sigo como tú, Luis Fraile, Miguel, David....
De todos los modos Luis, a ver si la próxima vez podemos juntarnos más tiempo y no de la forma tan fugaz a como lo hicimos.
Me da igual si es con una cervecita en mano como si no. :-)
mejor que sea con uan cerveza eh!!!, [:H]
Te tomo la palabra Jorge ;)
PD: Con cervecita!!!
A ver si la proxima vez puedo ir yo tambien. Por cierto Luis muchas gracias por hacer mencion de las preguntas que te propuse, una lastima no haber podido ir para hacerlas yo mismo. Pero otra vez será.
A ver si por fín nos vemos las caras ;)
Tienes razón Luis, esto siempre esta tarea siempre es un dolor de cabeza. Por cierto, recuerden que deben encriptar esa sección cuando este en un producción :D.
P.D.: Luis, las imagenes MAD.NUG, y foro MSDN, no se ajustan al diseño, no se ve feo, pero se puede ver mejor :D.
Uyyyyyy que bueno
Gracias Sergio, siempre se agradecen recomendaciones de ese tipo.
En cuanto tenga un momento las redimensiono ;)
En mi otro artículo hablaba de como enviar un correo a un usuario que se crea una nueva cuenta en nuestro
Miar estos artículos:
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art05.asp
http://support.microsoft.com/kb/311731/es
http://www.netveloper.com/contenido2.aspx?IDC=288_0
hi, me he reido mucho con esto, quise publicarlo en mi blog, espero no sea molestia, y si es asi me lo hacen saber y lo borrare, claro pondre la fuente, bye cuidense y estare por aca mas seguido
Saludos Luis...
Yo la empresa para la cual estoy trabajando, posee sus bases de datos en oracle y desean migrar sus aplicaciones de escritorio (winform) a web (webform), posiblemente a asp.net. Te agreadeceria que cualquier cosas que consigas o aprendas por favor publicalo...
Saludos mi amigo...
"Estoy como pajarito en grama viendo hacia todos los lados buscando información de oracle y asp.net"
Hola Misael:
"Los validadores de asp.net siempre hacen la validación en el cliente y en el servidor y este comportamiento es por diseño"
Claro que por diseño hacen esa validación, pero tu la debes implmentar a manubrio, es decir o client-side validation o server-side validation o ambas.
Luis, también debes comentarle la nueva alternativa a parte de sesión en ASP.NET 2.0, es decir Profiles, que sería un Session State, en modo SQL Server.
JajajAjaJAajja!!!!
Muy bueno!
:-DDDDD
Me reido bastante leyendo tu post.
Luis, tengo muchas ganas de saber que entiende esa persona por pedalero... porque yo la verdad no entiendo a que se refiere a no ser que esté pensando en si JAVA es más engorroso que .NET... ¡¡¡que ganas que tengo de saber que es eso de pedalero!!!. :-)
Pues eso es lo mismo que he pensado yo, supongo que en el gráfico que muestra Rodrigo en su último post, están ordenados de más a menos pedalero...
JaJaJaJaJa XD
Jajajajajaja
muy bueno, supongo que podemos añadir a ese jefe de poyecto al grupo tecnico-less
Luis...
Tampoco diré el nombre de la empresa donde estoy (aunque no sea exactamente "por respeto" sino más bien "tengoQueDarDeComerAMiChurumbel_yLaCosaEstáMuMala"), pero que sepas que tengo un Jefe de Poyecto que es además una especie de "Desarrollador Unico"... que la culpa de que su Aplicación no ande, la tenemos todos menos él.
Y cuando digo "todos" puedo estar refiriendome, aparte de los que estamos aquí, a: Telefónica (no tienen ni *** idea, pierden paquetes IP a porrillo y por eso hay inconsistencias en la bbdd), Microsoft (no tienen ni *** idea, todo lo que hacen es una mierda), los sucesivos técnicos de Cisco que han venido (no tienen ni *** idea, a secas) ... y así unas cuantas referencias más a empresuchas del tres al cuarto y llenas de "aficionados", como las mencionadas.
En otros tiempos, "alguien" hubiese llamado a eso "una conspiración judeomasónica" xDDDD
En fin...
" ... no tienen ni *** idea ..."
AAGHH!! LA CENSURA HA VUELTO!!! >:-(
Recuerden que cuando usamos la session en StateServer o SqlServer no podremos almacenar objetos que no sean serilizables como dataview entre otros!!!
Luís, encantado de conocerte en persona, un verdadero placer.
Muchas gracias por asistir al evento, espero que mereciera la pena.
TreeView con Ajax .NETValidaciones con Enterprise Library 3.xLINQ to SQL (Part 3 - Querying our Database)Busqueda...
HOla.
El articulo me parece muy interesante pero cuando ingreso al MTC no aparece la carpeta Configuración DCOM y no puedo asignarles permisos, y cuando entro jecutando dcomcnfg si me aparece el EXCEL, pero no me permite ingresar a las pestañas de configuración. Hay alguna manera de restaurar la carpeta de configuración DCOM , tengo un windows 200 como servidor
Pues mi más sincera enhorabuena Luis. :-)
¡Muchas felicidades!... bien merecidas desde luego.
Felicidades crack! :-DDD
Felicidades Luis, y no dejes pasar mucho tiempo para el MCPD.
saludos,
Felicidades! ;)
Yo tb estuve con eso mismo... es más, conseguí la mcpd hace un par de semanas ;)
Gracias a todos y enhorabuena!!!
PingBack desde Para hacer el Windows Vista contratamos a antrop??logos « mediaciones
hola. parece bien pero es solo para pocas palabras y necesita base de datos. en caso que quiera modificar toda una web completamente de un idioma a otro cual sería el sistema más facil
(y si es posible sin base de datos)
Excelente y dejame derte que no es de las soliciones que se le ocurre a cualquiera, me fue de mucha utilidad.
Gracias compañero!!! Ese tipo de comentarios le dan más ganas a uno de seguir escribiendo ;)
Pues no lo sé compañero ;)
PD: A ver si encuentro el fuente y lo subo ;)
Hola Oscar:
No no hace falta, porque la navegación la hago con un iFrame y por eso la principal nunca hace postback y entonces es facil saber cuando se pulsó la X o cuando el botón de logout que lo que hace es poner el valor de ese campo a 1.
Te subo el ejemplo que lo verás mejor ;)
Perfectamente explicado.
¿Alguien sabe como utilizar los recursos pero en webs mas grandes, por ejemplo en una intranet donde cada página tiene contenidos varios...?
Seguro que se ha de utilizar bases de datos...
la verdad que yo vivo y respiro tipos genericos desde hace un buen rato, asi que a mi no me parece que sea tan malo que no esten esos tipos de datos en silverlight, que por otro lado, es una gran plataforma
Esto no necesita una base de datos ;) son archivos de recursos resx
Las ventanas pueden tener su explicación, pero el código...
Y menos mal que no están comparando con "esternocleidomastoideo", que si no, ni un Cray YMP puede...
Cosas vieredes...
Continuando la saga de nuestro amigo Luis . También tuve el mismo problema de las plantillas y aunque
Hola Ta´lí:
Si la información es dinámica sí debes usar db ;) sino te sirve de esta manera ;)
buenas...
Me pasó, pero en mi caso con llamadas a Cobol vía CGI, lo q da unos tiempos de respuesta prácticamente aleatorios:\
Al ponerlo como Debug=true el executionTimeout se pasa automaticamente a infinito, por eso ese error nunca saltaba. Con esta configuración solucioné el problema, pero no me gustó para nada:
<configuration>
<system.web>
<httpRuntime executionTimeout="180"/>
</system.web>
</configuration>
Hay una tercera (y a mi gusto mejor) opción:
3. Agregar en el head de la ventana hija (child, o sea la q está en popup) este tag: <base target="_self" />
De esta forma el postback funciona.
hola, yo de nuevo...
un update: Me pasó q intentando llamar a otra ventana desde la modal q tenía el targer=_self se creaba una sesión nueva del browser, por lo q no tenía más las variables de sesión. Lo solucioné pasandole como argumento del showModalDialog la ventana padre, y al necesitar abrir una ventana nueva hacer window.dialogArguments.open()
Gracias por los apuntes compañero ;)
Hola, esto ene una razón de ser. Cuando sales a producción debes de cambiar el atributo a false por varias razones: La primera es que cuando habilitas la depuración estás adjuntando un depurador a la ejecución del código, o cuál la hace más lenta. Lo que está pasando no es que el tiempo de TimeOut sea demasiado alto, lo que sucede es que la ejecución se lleva a cabo de una forma más rápida y está utilizando menos recursos del sistema ya que no adjunta el depurador. En el caso del sleep está adjuntando depuración para cada uno de los milisegundos (échale un ojo al administrador de tareas para ver la memoria ocupada durante el sleep).
"...Excel was not designed to be used inthis way" ni en "another way" jeje. A ver si alguien ha pasado por esto..
El interop, al cargar los datos de un archivo excel en un datagrid es lento de narices, xo si además quieres mostrar el formato...ya te mueres.
¿Existe alguna forma que yo no conozca? o ¿alguna forma de incrustar la tabla excel con formato y todo en un formulario?
No, no es necesario, basta con coger las dos dll del framework y ponerlas en el bin del sitio web correspondiente y todo funciona perfectamente. Así lo he hecho yo y no he tenido problema. Claro que, si en tu proyecto tira del GAC, después de desplegar siempre tendrás que ponerlas a mano.
HOLA OYE MI PROBLEMAS ES EL SIGUIENTE YO QUIERO Q SOL OENTRE UN USUARIO A LA VEZ A MI APLICACION Y Q SI OTRO INTENTA ENTRAR NO LO DEJA Y QUE CUANDO MI PRIMER USUARIO DEJE DE USAR LA APLICACION EL OTOR USUARIO YA PUEDA ENTRAR, LO QUE NO SE ES COMO CONTROLARLO YA Q SI MI PRIMER USUARIO CIERRA LA APLICACION CON EL TACHE YA NO SE SI SALIO O NO. DONDE PUEDO OCNTROLARESTO EN EL GLOBAL.AXAC?
Excelente, muchas gracias por compartir tu conocimiento
Y este es mejor:
www.youtube.com/watch
Hola Luis,... ¡vaya que sí!... ¡¡¡maravillosos años!!!, ¡sí señor!. :-D
Esto me recuerda el post que escribí hace ya casi 1 año con el mismo título. Lo pongo aquí por si alguien quiere "recordar" también. :-)))
geeks.ms/.../Aquellos-maravillosos-a_F100_os.aspx
PingBack desde University Update-AJAX-Aquellos maravillosos a??os...
Lo intente, pero no me funciono
Hola espinete:
Lo ejecuto en un Win XP ;)
Efectivamente ASP.NET Ajax funciona como todo lo demas que conocemos, si no esta en la carpeta bin, lo busca en el GAC.
La idea de subirlo al GAC fue para no estar manipulando luego manualmente en nuestros proyectos con el componente .dll (que sea hacia tedioso cuando teniamos varios proyectos con las versiones beta), y es la idea base el GAC componentes disponibles para todas las app .net
Al instalarse por si mismo (mediante el instalador del la version1) no es necesario copiarla nuestros queridos "Bin Folders"
Bueno y que pasa si queremos redistribuir? donde lo encontramos
Aqui:
C:\Archivos de programa\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025
"The following file may be redistributed under the Microsoft ASP.NET 2.0 AJAX Extensions"
O sea alli si tendremos que colocarlo en la carpeta BIN
______________________
Jose A. Fernandez
Gracias a los 2 por los comentarios ;)
Ya me ha pasado el mismo problema :D. Mi solución cambio el nombre de uno de los templates de tal manera que sea distinto, ojo hablo del NOMBRE del CONTROL, pero el Bind sigue apuntando a la misma propiedad :D.
creo que ambas deben ser utilizadas primero:
Session.Clear(); luego
Session.Abandon();
Hola Sergio:
Yo de momento es lo que hice, pero no me parece que sea una solución buena, ya que tengo 3 templates y son entre labels, literales, dropdownlist, textboxes... unos 120 controles
Puede ser, habrá que consultar en forums.asp.net :). 120 Controles wow, no llego a tanto, pero si de echo que es necesario colocar un updatePanel dentro del formView para que no se actualize el resto.
Por cierto, no te parecen muchos controles :D. No has pensado en dividirlo en varios formsView y en distintas vistas?
El problema es que son lo datos de una cabecera de una propuesta de facturación y el usuario los quiere a la vista, nada de tabs... aunque muchos está ocultos y dependiendo de la selección y de la lógica se activan y tal, ya sabes Sergio, requerimientos del usuario ;)
Cual fue tu problema???
Como alternativa a utilizar COM de Excel te recomiendo ASPOSE es la leche y aunque es de pago merece la pena, puedes verlo en:
www.aspose.com/.../Default.aspx
De nada Pao ;)
Esta usando ASP.NET 2.0???
Si es así con el MemebreshipProvider puedes comprobar si el usuario está logado.
si se :D, pero no son requerimientos de usuarios, son requerimientos de usuarios :D.
Otra alternativa para no añadir la referencia es hacer un "casteo" de la página maestra:
((MasterPage)Master).Logo
Gracias por el aporte Tori, se agradece ;)
Ese codigo me sirvió muchisimo, pero se me ha presentado un problema, esto funciona perfectamente en paginas completas, sabrias como se podria poner como un control de usuario web y que se pudiera prensentar dentro una masterpage?
Excelente artículo!!!
Podrías intentar dentro de una página poner un IFrame y en ese IFrame que se ejecute la página que genera el Pdf y se te mostrará en el IFrame.
De todas maneras te dejo un enlace a un control (De pago) que es la caña para generar pdf, rellenarlos... y encima con AJAX:
www.indigoeightsoftware.com
cuando regreses ya estará liberado Visual Studio 2008 RC, SP1 de Vista, CS 2007-2, WSSF Ago2007, el maligno publicará otro Momentus Ridiculous, y quien sabe que cosas más...
disfruta de tus vacaciones crack!.
Pásalo bien Luis, y sobre todo... ¡descansa!. :-)
y como hacemos con el path de las imagenes que estan dentro de la pagina reescrita? Pues ahora el navegador no las muestras. Saludos
Problema solucionado sin efectos secundarios.
Solución de alto nivel.
Yo estoy trabajando con sesiones, cuando doy cerrar sesion, limpia la sesion, pero en el momento que doy en el boton back del explorador, me regresa de nuevo a la aplicación y lo que quiero es q al dar back recargue la pagina de login como cuando salimos de hotmail, damos back y tenemos q registrarnos de nuevo.
Aquellos maravillosos años...yo estoy ahora mismo estudiando programación y tengo que hacer prácticas en Turbo basic. Tengo que hacer un juego de dados y un video club.... si tuvierais algun manual o apuntes que pudierais pasarme os lo agradeceria mucho...me trae de cabeza... MUCHAS GRACIAS!!!!
may.cedena@gmail.com
Hola amigo la verdad es que soy nuevo el asp.net y la verdad se me facilita mucho mas en vb que en c no se si me lo podrias mandar este codigo hecho en asp.net vb si no seria mucha molestia
Vales compadre, justamente esta informacion es la que no se encuentra en ninguna parte y gente como tu es quien nos ayuda... Se agradece
En el caso de que no sepa los nombres de los textfield del pdf, y por consiguiente no sepa asignarle el mismo nombre al textbox del formularioweb. Hay alguna funcion que me de los nombres de los textfield del pdf?
Gracias Krajisejck ;)
Hola pioner:
Pudes hacerlo con el bucle foreach que he puesto:
foreach (string name in
stamper.AcroFields.Fields.Keys)
{
Response.Write(name);
}
es que son unos moustros, jajajaja
Gracias Mariano!!!
Gracias Luis por la ayuda, pude ver los textbox del formulario pdf que quiero, pero tengo problemas para llenar el formulario, le hice una modificación a tu función, ya que no quería que, solo para probar, no queria que me leyera todo el formulario, sino solo el textbox que necesitaba, y le pase el texto que necesito al formulario pdf.
Aqui está el código que estoy utilizando (esta en vb.net)
Dim MemoryStream As System.IO.MemoryStream = New System.IO.MemoryStream
Dim Lector As PdfReader = New PdfReader(TextBox1.Text)
Dim Stamper As PdfStamper = New PdfStamper(Lector, MemoryStream)
Dim Control As Control = New Control
Dim TextBox As TextBox = New TextBox
Dim Nombre As String
Try
'For Each Control In Me.FindControl().Controls 'Formulario.FindControl("textbox").Controls
' If Control Is TextBox Then
'Dim Texto As TextBox = Control
For Each Nombre In Stamper.AcroFields.Fields.Keys
If Nombre = Text1.ID Then
If Stamper.AcroFields.SetField(Nombre, text2.Text) = True Then
Exit For
Next
' End If
' Next
Stamper.FormFlattening = True
Stamper.Close()
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition", "inline;filename=recibo.pdf")
Response.BinaryWrite(MemoryStream.ToArray)
Response.Close()
Catch ex As Exception
Label1.Text = "Error: " & ex.Message
End Try
No se porque (al debuguear el código), este lo recorre dos veces, y al terminar me dá un error en la página, Internet Explorer cannot display the webpage
También prove con la función que das, y me sigue dando el mismo error, Internet explorer no pudo mostrar la pagina web.
hi asp. net
Tendran el codigo pero en Vb en lugar de C#.
Hola, la pregunta es que sucede con los enlaces a datos en controles de ajax??, por ejemplo en el CascadingDropDown, ya que antes de usarlo para cargar los DropDownList lo hacía con DataSource u Objetos empresariales y lo hacía en el SelectedValue del ddl (con Bind) y funcionaba tanto para el select como para el update, ahora cargo el ddl con el CascadingDropDown y selecciono el valor indicado pero despues cuando quiero actualizarlo no me lo permite, ya que dice que la cadena de entrada no es la correcta, cual es la forma en que se debería usar el enlace a datos en un FormView con DropDownList y CascadingDropDown de manera de poder recuperar los datos de la BD y a su vez actualizarlos???
Atte.
Danilo
O sea, esto no funciona, para poder actualizar los datos:
<asp:DropDownList ID="ddlNacionalidad"
runat="server"
</asp:DropDownList>
<cc1:CascadingDropDown ID="ccdNacionalidad"
Category="Nacionalidad"
TargetControlID="ddlNacionalidad"
PromptText="Seleccione"
LoadingText="[Loading...]"
ServicePath="../WerServices/Localidades.asmx"
ServiceMethod="GetNacionalidad"
Enabled="True"
SelectValue='<%#Eval("PrsNacionalidadID")%>'
</cc1:CascadingDropDown>
Disculpen, quise decir:
SelectValue='<%#Bind("PrsNacionalidadID")%>'
Hola, y ante todo gracias por la ayuda.Mi problema es el siguiente:
Tengo una aplicación la cual al pulsar un boton coge un pdf y rellena sus campos cogiendo estos de un documento xml, pero no hace nada.MI codigo es el siguiente:
String pathPDF = "C:\\prueba.pdf";
MemoryStream _MemoryStream = new MemoryStream();
PdfReader reader = new PdfReader(pathPDF);
PdfStamper stamper = new PdfStamper(reader, _MemoryStream);
String filename = "C:\\XMLFile1.xml";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filename);
XmlNodeList xmlNodeList = xmlDoc.GetElementsByTagName("ns0:cliente");
foreach (XmlElement xmlEl in xmlNodeList)
XmlNodeList xmlChildNodes = xmlEl.ChildNodes;
foreach (XmlElement xmlChildEl in xmlChildNodes)
foreach (String name in stamper.AcroFields.Fields.Keys)
stamper.AcroFields.SetField(name, xmlChildEl.Value);
if (name.Equals(xmlChildEl.Name))
stamper.FormFlattening = true;
stamper.Close();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=prueba.pdf");
HttpContext.Current.Response.BinaryWrite(_MemoryStream.ToArray());
HttpContext.Current.Response.End();
se pasaron con eso!!!!
Alguien tiene idea de como hacer para que el control CreateUserWizard acepte la clave que el usuario ingresa para registrarse??
Siempre tira elsiguiente error: Password length minimum: 7. Non-alphanumeric characters required: 1.
Muy interesante
Hola compañeros,
Mi problema es que tengo varias apliciones web .NET en distintos proyectos. Deseo realizar el típico 'Cerrar Sesion' pero las variables de sesión en las que guardo el identificador de la persona solo se conservan en cada proyecto, por lo que al eliminar las sesiones en una aplicación solo se eliminan las de un solo proyecto. Estoy intentando guardar las sesiones en SQL para poder compartirlas entre proyectos. He creado la base de datos ASPState mediante ASPNET_REGSQL.EXE, he añadido la etiqueta <sessionState> en el Web.Config y no he modificado nada en la asignación o lectura de las variables de sesión. Me añade registros en la base de datos al realizar la asignación de valor a las variables de sesión pero al ir a obtener su valor en el segundo proyecto me devuelve valor nothing. ¿Sabéis porque puede ser? ¿Hay que realizar algún paso más? ¿Es válido el almacenamiento en SQL Server para compartir variables de sesión entre proyectos?
Os pongo el código de sessionState:
<sessionState
mode="SQLServer"
stateConnectionString="tcpip=192.168.0.1:42424"
sqlConnectionString="data source=anlnsrv02; user=usuario; password=contrasena">
</sessionState>
Muchas gracias por todo.
Buenas,
Siguiendo este ejemplo tan bueno, necesito insertar imagenes en un pdf.
Alguien sabría ayudar a como hacerlo?
Muchas gracias de antemano.
puedes probar tambien con esta sentencia window.ShowModlessDialog
Buena la picture esta curada, saludos desde Mexicali, Baja California, Mexico
una consulta no me doy cuenta como cambiarle la extencion al nuevo archivo de recurso por ej: para el case de castellano creo una archivo de recurso que se llama "test.resx" ahora para el case del ingles britanico (en_Br), como seria el nombre del archivo de recurso
Muy bueno.
Muchas gracias por compartirlo por que el caso es que ayer en la oficina me comentaron algo de este tema :D
Un Saludo!
Muy buena la solución. Todo solucionado de un plumazo.
Saludos !!
Jajajaja, que bueno!!!.
No se publicó porque fué censurado por su contenido violento.
Violento?? No se ve ni una gota de sangre, no hay armas, es más de disparan con la mano, no hay escenas de sexo... ;)
muy bueno JJ
Este video incita a la violencia. No es necesario ver sangre o armas. Para eso podemos ver las bombas que ponen en Iraq.
Por curiosidad Luis, ¿cuántos años tienes? Lamentablemente, la actitud que muestras esp propio de la juventud de hoy en día y apuesto que tendrás menos de unos 28 años.
¿Y tu crees que en Iraq hay consolas?...
Lo siento, me indigna que todo lo que huela a "consolas" sea tratado como si fuera el mismisimo diablo.
Hay que reconocer q el anuncio es original ¿a quien no le gustaría vivir una situación parecida con pistolas de pintura, de bolas de goma...?, te aseguro que la descarga de adrenalina sería tremenda.
Si. Me gusta salir con mis amigos. Estar con mis 2 hijos y con mi mujer. Me gustan los videojuegos.
Por cierto tengo 35 años.
AlbertoGs,
¿Quien ha dicho que la consola es el diablo? Macho es que encima no entiendes cuando un escribe? Estamos hablando del anuncio. No estamos hablando ni de XBOX ni de las consolas ni de juegos de guerra.
es Buenos Aires
yo interactuo con pa ventana hija y carga los datos en el padre todo bien hasta alli el problema inicia cuando inteto abrir otra ventana o hacer click en un combo se pierden todos los datos q carge de las ventanas hijas
la sentencia window.dialogArguments.open(), se pondria en la ventana hija en el codigo javscript
Debes poner minimo 7 caracteres y por lo menos uno no alfanumerico ej 1234567*
Protected Overrides Sub InitializeCulture()
Dim sCulture As String = Session("lang")
If Request.Form("ctl00$MenuContent$eblIdioma") IsNot Nothing Then
Session("lang") = Request.Form("ctl00$MenuContent$eblIdioma")
sCulture = Session("lang")
UICulture = sCulture
Thread.CurrentThread.CurrentUICulture = New CultureInfo(sCulture)
MyBase.InitializeCulture()
End Sub
yo estoy utilizando esto que te mando y me funciona, del ejemplo original hay que tomar en cuenta que "InitializeCulture event" se dispara muy temprano en la creación de la pagina y controles por lo que necesito hacer uso del request form para obtener de mi radiobuttonlist un valor seleccionado, ademas lo estoy guardando en una variable de session pues no me aseguro que el uiculture que me devuelve el explorador continue siendo el seleccionado originalmente.
Espero que les ayude y si en algo me equivoco tambien se los agradeceria.
Muy bueno tu ejemplo... Dejame ver si entiendo con la libreria de ajax...puedo utilizar todo los efectos de ajax desde el 2003 como si fuera el 2005?...
POr fa, aclarame ese detalle, y en todo caso cómo podria hacerlo....
He manjeado ajax y vs2005 insipientemente pero en mi trabajo usan el vs2003 así q si logro aplicar algunas buenas cosas del ajax seria muy bueno..
Espero puedas ayudarme
Hola a todos.
Acabo de verificar que todas mis etiquetas img tengan su respectiva imagen, todo sin novedad. Yo creo que tiene que ver con lo que decian del MasterPage, yo pienso que es porque esta anidada... pero en este caso entonces ¿que hacer?, igual seguimos sin la solucion.
Alguien que lo sepa.
Compañeros.
Disculpen, efectivamente la solucion si estar seguros que los img si estan enlazados. No habia caido en cuenta que en mi masterpage tenia una pequelisima viñeta sin enlazar, cai en cuenta y todo esta OK!!
Si te refieres a AJAX Extensions, NO pero puedes utilizar otros frameworks o a pelo como en el ejemplo ;)
Sí no es por el tema de master pages anidadas sino por la img ;)
Que bien amigo, eso era lo que buscaba, gracias, Calif. 10. =)
HOLA, PUES YO HE HECHO TODO LO QUE DICEN TENGO LOS DLL EN EL BIN Y TODO ME FUNCIONA BIEN, EL UNICO PROBLEMA ES QUE ME SIGUE MARCANDO EL ERROR DE "'Sys' No definido", alguien ayudeme porfavor, cieriurquiz@gmail.com
Hola, he seguido los pasos que has puesto y he creado una página web multiidioma con una masterpage.
Me surgen los siguientes problemas:
Al enlazar en la masterPage no sé exactamente en qué página me están navegando y por lo tanto no sabría que dirección poner en el hyperlink.
Al tener seleccionado el idioma ingles y pinchar en cualquier enlace vuelve a cambiar el idioma al español. ¿Hay alguna forma de que guarde el actual idioma sin que se le tenga que pasar en el hyperlink como ?lang?
Le agradeseria me pasen el codigo que ya les funciono tengo el mismo problema, se trata de una pagina em la q tengo un link q abre una ventana de busqueda de productos, al cerrar esta deseo que el dato que ingrese en el form hijo se cargue al padre y que q este envie estos datos al servidor, gracias de antemano jcarlos777@gmail.com o arpanetmsn@hotmail.com
mi web todabia no esta terminada pero quiero poner una en idioma japones e ingles esa mispoa web y quiero saber como se hace.
esta informacion esta bien pero como que le hace falta mas cosas, yo sujiero que le introducan un poco mas de informacion pero de todos modos esta bien.
Que bueno que volviste a postear, muy interesante lo del machine.config, no lo sabía y puede ser útil, aunque en el modo en que trabajan las empresas clientes acá no se nos permite acceder a los servidores de producción.
Gracias por tu comentario gabysr ;)
Pues para ello tenemos que convencer al cliente sobre estas buenas practicas.
un ejemplo en visual basic, te falto!!!
PingBack desde Publicar un sitio Web sin fuentes en VB.NET « Joaquin Trujillo
En VB.NET:
Dim table As New DataTable()
Using conexion As New SqlConnection("Cadena de Conexión")
Using command As New SqlCommand()
command.Connection = conexion
command.CommandText = "SELECT * FROM Tabla"
conexion.Open()
Using reader As SqlDataReader = command.ExecuteReader(CommandBehavior.CloseConnection)
table.Load(reader)
End Using
Cuando quieras traducir de C# a VB.NET:
labs.developerfusion.co.uk/.../csharp-to-vb.aspx
Hola Luis... la verdad siempre me tocaba esperar un rato para empezar a programar cada vez que me salía ese error, pero como todo programador, siempre necesitamos tiempo...
Me gustaría saber, como puedo deshabilitar esa acción ?
Erick
En dot NET lo principal son las web forms, el GUI en ASP.NET sobre las que uno arrastra y suelta controles, van acumulando errores en HTML y de pronto no se puede pasar a la vista de diseño pues los errores despues de arrastar 101 controles ya no los arregla nadie. La saga continua y vamos para el 2008.
Revolucionario, programacion sin código:
www.sourceforge.net/projects/doublesvsoop
www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-791.html
alarmingdevelopment.org
quevivanlasgallinas.blogspot.com/.../ado-net-20-me-putea.html
modificar el archivo web.config
Saludos, tengo un control de usuario dentro de un GridView, este control de usuario recibe un número decimal (una calificación) y lo representa como estrellas, es decir un gráfico que represente la calificación. El problema es que al control de usuario le paso <%# Bind("calificacion") %> y me manda un Invalidad Cast Exception. Lo intento de esta forma
<uc1:FormatoCalificacion calificacion='<%#Bind("calificacion") %>' ID="FormatoCalificacion1" runat="server" />
En el user control tengo un método que se llama calificacion que recibe un valor decimal y hace todas las operaciones para representarlo como estrellas. Ya intenté hacerle un ToString al bind pero aun así recibo el mismo error :-s espero puedas ayudarme
Es un servicio que debes detener:
Index Server
;) Salu2
La oferta de trabajo es ridículo y muy poco profesional y no me extraña que nadie haya contestado porque no se puede distinguir entre si es verdadero o una perdida de tiempo. Además me parece una falta de respeto por parte del anunciante ya que se supone que gente que está en InfoJobs es porque necesitan trabajo y no perder el tiempo con tonterias.
Yo no sé a quien se le ocurrió ese anuncio pero desde luego Ilitia ya está en la lista de empresas a las que ni miraría si estuviera buscando un trabajo.
1. ¿Poco profesional?
2. ¿Quién ha dicho que no haya contestado nadie?
3. La gente que entra en Infojobs ¿Para que entra sino? ¿Es un portal de búsqueda de empleo no?
4. Se le ocurrió a la gente de RRHH
Bueno anónimo aquí no se come a nadie XD, al fin y al cabo es tu opinión y es libre XD
yo la veo buena,además tenían claro el perfil que estaban buscando, gente que disfrute con la tecnología, no gente que solo vaya a hechar horas y poner la mano, si disfrutas con tu trabajo rindes más.
saludos desde Albacete
A mi me parece espectacular, que existan trabajos donde primero ven lo que sabes y despues si es necesario tus titulos. Porque el titulo no me dice nada.
Me da la impresion que buscan a una persona que sepa de que trata la cosa antes de alguien que se adapte al trabajo en la medida que pasa el tiempo.
Muy buen anuncio.
Se puede hacer una pregunta técnica en una oferta. Que estés o no a favor de eso es irrelevante. Lo que a mi me parece una tonteria es el tono.
A mí también me parece un muy buen anuncio.
Elimina desde el principio a quienes no hayan mirado C# 3.0 y LINQ, que no tendrán ni la más remota idea de qué va el tema...
¿Alguien sabe si el resultado que produce este programa (una cadena de caracteres) tiene un significado visual?
Yiaaa, curiosa el trocito de código, jejeje.
Bueno, veamos la parte optimista de tu pensamiento anónimo:
Puesto que no te gusta el tono y afirmas que es una empresa a la que ni mirarías si estuvieras buscando trabajo, hay dos consecuencias positivas...
a. Tú no te llevas decepciones por objetivos no cumplidos
b. Ilitia puede centrarse en candidatos realmente interesados y válidos para el puesto
Yo que tampoco busco trabajo, sé que Ilitia sería uno de los primeros lugares donde intentaría llamar a la puerta, no sólo por su buen hacer sino por el gran grupo profesional y personal con el que cuentan.
Veamos como desde los RRHH de ilitia analizamos tu comentario, amigo anónimo:
Dices: "La oferta de trabajo es ridículo y muy poco profesional"
Es obvio que no puedo revatir si es o no ridícula (más allá que por el éxito que haya tenido... que para nuestros objetivos ha sido ucho), la ridiculez es algo subjetivo y por lo tanto depende de cada uno, pero te diré que desde la posición de ilitia no lo es para nada porque asume que quien se apunta ama la tecnología. Luego, si es más o menos profesional (algo es ya que se hace para profesionaleS), te diré que posiblemente para tí sea más profesional las que dicen "Analistas .NET" y piden todas lo mismo... sin duda para tí así es mejor acceder al mercado laboral.
Luego dices:"y no me extraña que nadie haya contestado porque no se puede distinguir entre si es verdadero o una perdida de tiempo."
Bueno, esto no es subjetivo, sino falso; y en ambas afirmaciones... porque todos han entendido que era muy en serio y se han apuntado más de 30 personas, los eliminados (por no saber la respuesta o simplemente por animarnos por la iniciativa) no se ven, y de los 17 que han pasado la prueba, como poco vamos a contratar a 4 ó 5 personas muy muy válidas, con mucha pasión por la tecnología y con una trayectoria profesional maravillosa.
Añades: "Además me parece una falta de respeto por parte del anunciante ya que se supone que gente que está en InfoJobs es porque necesitan trabajo y no perder el tiempo con tonterias."
De nuevo esto es subjetivo, no veo falta de respeto alguna en el echo de valorar tecnicamente a los candidatos que quieran trabajar en ilitia, es más, en nuestras entrevistas miramos punteros, algorítmica, tecnologías, carrera profesional y problemas de lógica e inteligencia... y todo esto no me parecen tonterías, sino una forma seria y profesional de buscar y conseguir talento (que es nuestro fin)... de nuevo, posiblemente prefieras que te llamen, te pregunten si sabes C# (o Java), y cuando digas que sí ya te hagan una oferta, sin duda así se ve mejor tu capacidad profesional ya que no te hacen perder el tiempo... pero por otro lado, si se preocupan tan poco de tí para elegirte, que tipo de compromiso puedes esperar de esa empresa? Nosotros al contrario nos dedicamos muy en serio en el proceso de selección y una vez que encontramos a un candidato válido apostamos por él para siempre.
Y acabas diciendo: "Yo no sé a quien se le ocurrió ese anuncio pero desde luego Ilitia ya está en la lista de empresas a las que ni miraría si estuviera buscando un trabajo."
Se me ocurrió a mí ;-DDDD Y obviamente, entre mis intenciones está la de que gente triste, desilusionada, que no le gusta lo que hace, que valora cosas demasiado comunes, quede fuera de nuestro proceso selectivo... En ilitia buscamos talento, pasión y alegría, y el como la gente se enfrenta a estos "retos" demuestra mucho más de lo que parece.
Gracias por tu crítica, te deseo un gran futuro profesional...
Atentamente
Fer,
Al colocar mi aplicacion en produccion se me han presentado estas ocasiones de error, y efectivamente basto con colocar las Dinamicas Dll en el directorio BIN de mi aplicación, me parece interesante que haya que hacerlo manualmente aunque poco practico, quiza para la siguiente version de AJAX Toolkit se haya pensado en esto,
jajajaj, pero bueno que es esto...
Un programa sin pruebas unitarias, sin pasar el fxcop, sin comentarios, y encima utilizando metodos de extensión, pero si .net 2008 solo aun no ha salido a la venta, asi no se puede trabajar, vergonzonso. :) Salu2 Ilitios.
Anónimo, a mi me parece que han dado en el clavo con la oferta... creo que prentendian dejar fuera gente con tu perfil ;)
Decir que me parece una oferta muy acertada, además no es nada nuevo, compañias como Google ya han usado este tipo de anuncio para buscar a gente con un perfil más geek...
Comparto el análisis de Octavio y me he reido mucho con la ironia del comentario de Juan...
Fer:
No coincido con tu comentario.
Soy un apasionado de la tecnología sin embargo yo también quedo fuera de esa selección porque me parece muy tonta.
Y algo que aprendí es que las empresas que piden gente apasionada y les ofrecen "divertirse" y "alegrarse" con la tecnología es porque pagan poco. Es irónico que las empresas no sean apasionadas por pagar bien, no? por ej. en el aviso buscan empleados que sepan c#3.0, linq es decir las últimas tecnologías pero el salario no es de última tecnología.. (24 a 36 bruto x año)
Por último, un consejito: ya que en tu empresa hacen tests tan rigurosos intenten agregar el de ortografía e intentá pasarlo (revatir, echo,..)
Pues vaya, lo que parecía una noticia curiosa, ha pasado a ser casi una disputa de como hacer o no las cosas.
Por un lado, ánimo a la gente de Ilitia, a mi parecer se lo han currado y es otra forma de hacer una entrevista más.
Para los que no le gusten, podrías hablar con la gente de Ilitia y comentarles vuestra opinión. No creo que la noticia sea para hacer tanta "bola".
Al fin y al cabo solo es eso .
Un Saludo a todos.
Fer ... te felicito !!!
no estoy buscando trabajo, pero he leido tu "propuesta completa" ... eso cuenta no ???
ademas creo que como bien dicen en los comentarios, automáticamente has "filtrado" los perfiles que no deseas ...
congrats again
Pues va a ser que todos tenéis razón, especialmente Rodrigo y Fer. Pero solo por analizar un poco:
Yo miro el anuncio. Me dice poco, por decir nada, de lo que sería el trabajo. Me dice que tengo que saber C# y si resuelvo el problema que me considerarán. Pero no me explica de que va el puesto, solo que me "divertiré".
Si realmente quiero ser "considerado", no es difícil encontrar la solución, bien pensando un poco, bien buscando en Google. (Aquí estoy yo metiendo la pata porque que Google haga algo parecido justifica que lo haga Ilitia también).
Por otra parte, volviendo al anuncio. Se supone que se evalua a la gente por resolver ese problema. Me parece cojonudo que se pregunten 4 preguntas sobre bases de datos si se busca a un DBA, pero como este anuncio no especifica tan claramente el puesto, ¿cómo se evalua a la persona?
Yo puedo ser capaz de resolver ese problema, pero no tener ni idea de diseño, no saber trabajar en equipo, ser un "geek" egocéntrico. A cambio, puedo no saber resolver ese problema y ser una persona que aprende rápido, que trabaja bien en equipo y aspira colaborar y aprender.
Señores, me acuerdo hace tiempo que criticastéis a Alhambra por publicar un anuncio que según ustedes dañaba la imagen de "picacodigos". Lamentablemente no veis que con este anuncio estáis jugando al mismo juego pero desde otra perspectiva.
Con esto ya me callo, que seguro que lo tendré muy difícil buscar un trabajo con "mi perfíl", así que cuanto antes me pondré a buscar.
Hola Yogi,
Gracias por tus comentarios, de verdad aprecio toda opinión, aunque prefiera hechos... Pero tu experiencia no vale para ilitia, es decir si hablas de otras empresas, es una simplificación agrupar a todas las empresas hechas con mucha ilusión en un mismo saco... no se.
No buscamos ni LinQ ni C# ni nada, buscamos talento, pasión y buena gente. Y el concepto pagar bien tiene muchos matices que podríamos comentar (si para tí todo esto es sólo trabajo bien, pero nosotros tenemos muchos más compromisos con los que trabajamos aquí)... ah, y no entiendo que tiene que ver conocer LinQ con cobrar 40k€ :-SSS
Sin duda no pagamos más que nadie, pero tenemos prácticas que en breve demostrarán (a la gente que curra aquí claro), que lo que hemos dicho estos últimos años de en que se convertirá ilitia, se empieza a hacer verdad. Y no digo más porque es algo que vamos a comentar en navidad en ilitia y, la pasión que le pongo a todo esto hace que meta la pata y hable de más normalmente.
Y respecto a las faltas ortográficas... tu le pasas el corrector al código que escribes? ;-DDD
Contarte que todo se preparó en 2 horas, el anuncio se escribió directamente sobre un TextArea y no nos paramos con esas tonterías...
Y sobre que a tí te parezca tonta la prueba, vale, contra esto no puedo decir nada, sólo decirte que a la mayoría de la comunidad le ha parecido muy bien (si alguien ya no se ilusiona con estos juegos, que le queda? no será que se ha convertido en alguien gris... no se)...
Además ya hemos conseguido entrar en contacto con unas 10 personas con un CV brillantísimo... vamos en ilitia estamos muy felices del resultado de la campaña a todos los niveles, tanto como que vamos a preparar en breve (primer trimestre del 2008 con suerte), un segundo reto, pero esta vez usando Silverlight, WPF (con 3D), en modo de juego y que será la *** hostia!!!
Perdonad por la chapa, pero es que le pongo mucha pasión a todo esto.
Ah, y perdonad por las faltas de ortografía ;-DDDD
Mirad, esto es pasión señores!!!
www.picacodigos.com/.../ElDesafiacuteoChuckNorrisResuelto.aspx
Confiamos en que sea ilitio en breve, nuestras puertas las tiene abiertas.
Fer
Las criticas al reto... bueno, nada es perfecto, yo tal vez lo hubiese afrontado de otra forma. Pero lo que me llama la atención es que quien critica, se refugia entre anónimos o seudónimos. ¿A que hay miedo? Que ya somos mayorcitos... o no!!
Sin más, enhorabuena a ilitia.
Hace un año y algo comencé a oir hablar de Ilitia. Una empresa con una serie de premisas que en un principio me parecían dificiles para aqui en España. Premisas como: "Disfrutar en el trabajo", "innovar", "gran grupo humano", "ultimas tecnologias"...
Muchas premisas para una empresa española pudiera llevarlas a cabo. Solo conozco a unos pocos de esa empresa ( grandes profesionales, mejores personas), y cada vez que me hablan de Ilitia se me cae la baba.
Si tan poco te gusta esa oferta, no la mires, mira las otras 2000 ofertas "normales" para puestos normales. Los que estamos aquí ( en geeks ) disfrutamos de la tecnología, de esta tecnología, y cuando trabajamos ( yo al menos ), intentamos disfrutar al máximo de ella ( y de captar mas adeptos a nuestra causa jeje). Yo cuando llego a casa ( despues de socializar con mi novia jeje ) sigo haciendo cosas de geek ( geekeando ).
Por tanto tras ver una oferta como esta, uno ve que hay otras empresas en España ( o al menos una ) que aprecia la calidad individual, el saber disfrutar del trabajo y de la tecnología.
Si no estas de acuerdo, pues mira a otro lado y deja vivir. Lo que si estoy seguro es que las personas de esa empresa ( al menos las que yo conozco ) van a tener una calidad de vida laboral bastante, ( calidad laboral no me refiero a ganar dinero, eso es otra batalla, me refiero a bienestar diario ).
Creo que es una empresa diferente, y mola mil.
Un saludo. Carlos Junquera Cachero.
Pues yo, casualmente conozco a varios de la empresa "que elementos...".
Anonímo, menos mal que no has caido en la trampa, te voy a decir la verdad, esta gente son "vampiros", si, si, de los de verdad, se pasan todo el dia de fiesta, y hacen unas cosas muy raras, yo la verdad no se cuando trabajan, debe ser de noche, claro... ademas nadie llega a la hora, nunca sabes quien va a estar, y de dia nunca les ves, es increible, no hacen mas que ir de celebraciones, hay algunos que hablan solo con tres siglas WF, WCF, etc, etc.,
Se de buena tinta, que de vez en cuando se van a la batcueva de su jefe y hacen reuniones diabolicas...
Y el problemita ese, seguro que han elaborado un plan de Ingenieria Social para captar adeptos, y como pican algunos....
Incluso he oido decir que algunos tienen libertad de horario, les pagan el movil e incluso les suben el sueldo sin solicitarlo...
No os acerqueis, esa gente es peligrosa...
Excelente la oferta, pero en latam no sabemos porque hacen referencia a Chuck Norris en diferentes blogs u otros, si nos dieran una explicacion seria excelente ... xD
Hombre, a ver, Ilitia en tiempos fue lo que se dijo... pero la verdad cada vez se va perdiendo más ese espiritu inicial.
Empiezo a pensar con el paso del tiempo, que se aprovechan un poco de la ilusión de la gente para 'exprimirlos'.
Además hay mucho geeks que no trabaja, sino que se dedica a hacer 'cosas guapas'. Estoy está muy bien al principio, pero luego ves que si realmente quieres tener una carrera sería hay que hacer proyecto que no son guapos. También es cierto que cada vez entra gente de menos nivel.
No hay muchas opciones para crecer. Aunque parece que la compañia crece, los que crecen son siempre los mismos. Aunque supongo que esto es un poco inevitable.
Yo ahora estoy en una compañia más 'normal' y la verdad es que creo que he ganado con el cambio. Ilitia está bien para empezar una carrera pero no para tener una carrera.
Esto solo es mi opinión, claro, y en general no guardo mal recuredo del tiempo que pase con ellos. Supongo que desde la compañia la historia se contará de otro modo.
Por tu comentario diría que parece mentira que hayas estado trabajando en ilitia...
Y eso que no se ha nombrado a la famosa parrondada con minuto de gloria en WikiPedia incluido. ¿A cuanto ascendio la de la semana pasada? Pobres novatos :).
P.D: NO trabajo en Ilitia.
Intentaré enfocar esto con la máxima objetividad. No es fácil. Soy ilitio, luego mi visión es sesgada.
No hay empresas para todo el mundo. La escala de valores de cada uno es personal e intransferible. He trabajado anteriormente en una empresa del grupo accenture. Y tenían un conjunto de valores. Ahora estoy en ilitia y tienen otro conjunto de valores.
No voy a ponerme a enumerarlos ni a ensalzar los valores de ilitia. Se que están más alineados con lo que busco. Y hay cosas de mi antiguo trabajo que me resultaban intolerables. Del mismo modo que seguramente hay cosas de ilitia que le resultarán intolerables a la gente. Para gustos, los colores.
En cualquier caso, me parece que la oferta del reto de Chuck Norris está alineada con los valores de ilitia. Y la gente ha respondido. Y la gente que responde es la gente que buscamos. ¿Que te parece una falta de respeto la oferta? ¿te ofende? Entonces es que seguramente no iba dirigida a tí. Cuestión de preferencias.
En cuanto a los comentarios de ex-ilitio. Ignoro si te he conocido. Hay cosas de las que comentas que me parecen parcialmente ciertas (entre ellas, acerca del nivel de la gente. Una prueba de ello es que soy ilitio). Sin embargo con todo y con eso sigo opinando que ilitia con sus imperfecciones (y las tiene, y muchas) es un modelo de empresa en el que puedo creer.
Como se ve en las distintas soluciones que han aparecido en la web y en el blog de Octavio, para resolver este problema solo hay que pensar un poco y saber que List<T> implementa IEnumerable<T>.
Ni linq, ni na de na. El linq solo está para "austar", pero si te paras a pensar sobre el problema se ve bien pronto que la solución es sencillísima (y se puede hacer al menos de 3 formas diferentes y ninguna requiere nada de C# 3.0).
Un saludo,
Vicente
Bueno, en verdad no puedo responder a un exilitio porque tengo demasiados intereses en ilitia y sin duda mi opinión es sesgada.
Pero, afortunadamente, el crecimiento que estamos viviendo en este tiempo, nos empieza a permitir empezar a retornar a los "exprimidos" a un ritmo más rápido, de forma más sorprendente y con mayor celeridad.
Sobre el concepto "exprimir" sin duda dependerá de lo que cada uno espere, pero aquí nadie curra más de 40 horas semanales por lo que no creo que sea aplicable, y el tipo de cosas que "solemos" hacer (sin duda no todo es perfecto, y además por otro lado dices que para ser "mayor" y "profesional" hay que hacer cosas serias, lo cual parece estar de acuerdo al tipo de decisiones que tomamos, solemos hacer cosas serias y algunas frikadas... si os pudiera enseñar cosas muy innovadoras en las que estamos trabajando más de uno lo fliparía un montón... esperamos en breve que las ideas que tenemos den su fruto y todo esto no sea "lo que contamos"
Vente a la proxima parrondada y dame caña tio, que en el fondo estos comentarios me sirven para reflexionar.
PD: Agradezco a los ilitios sus muestras de apoyo, yo no creo que lo que dice sea cierto y vosotros, creo, demostráis que no es así... ahi tantos detalles.
Gracias... ;)
haber quisiera una respuesta, e hecho eso, pero yo tengo DropDownListque depende de otro DropDownList y cuando hago selecciones en orden no hay problema, pero cuando cambio un superior la lista de los dependientes en lugar de actualizarce se estan añadiendo los valores, osea la lista del dependiente crece y obviamente eso esta mal, alguien tiene una solucion, aunq al deshabilitar esa opcion el problema se soluciona, pero no puedo poner ese valor por defecto
yo de nuevo si alguien sabe como solucionar esto me podria escribir a mi correro coolnow3@hotmail.com
En asp.net 1.1 como hacemos esto?
quiero el pelo liso para siempreeeeeeeeeeeeeeee
Y yo que te tenía por un tipo sensato... ;P
Brutal!!! Jajjajaj....
Que grandes los amigos chanantes!!! :DDDDDD
Hola, una dudota, esto mismo que se explica en este articulo aplica para word?, porque tengo una aplicación que usa word y en mi maquina funciona, pero como se menciona en el articulo, pues la gente de sistemas no me va a dar un usuario administrador, y con el que me dieron me marca un error al momento de generar el archivo de word "Word cannot open the existing", alguien podria ayudarme con esto.
En el evento RowDataBound(object sender, GridViewRowEventArgs e)
Has mirado con dcomcnfg.exe si hay un DCOM para Word?
Hola Luis, gracias por contestar, pues ya cheque el dcomcnfg y ahi esta ademas de excel tambien el word, e intente hacer algo similar a lo que esta en el articulo pero no he tenido exito, me marca algunos errores como que no tiene suficiente memoria o que el tiempo de espera termino, en fin no he tenido exito. Alguna idea de lo que puede estar pasando?
Me gustaria que fuera un ejemplo mucho mas amplio, comp por ejemplo como hago con vb 2003
sera que prodias colocar los ejemplos tambien en vb y no solo en c#
Excelente, buscaba y buscaba y nada, y tan sencilla la solucion, de verdad...
Mil gracias...
Esto funciona pero como puedo hacer para que en el from en vez de aparecer mi direccion aparezca un nombre ? muchas gracias
Mira este ejemplo:
209.200.119.101/.../Articulo.aspx
Pues ese trabajo lo dejo para tí ;) puedes utilizar:
Gracias a tí ;)
Has probado a modificarlo en e.Message.From o algo así?
Muy buena esta opción... y lo mejor super sencilla.
Jajajaja, si es que son la leche...
Sobre tus últimas líneas:
"De verdad que alucino, con este tipo de argumentos lo único que seguirá pensando la gente es que valemos para todo, sintonizar canales del TDT, la impresora no imprime, como se hace esto con Word..."
Añado: la lavadora no me va, la minipime(no se como se escribe ahora mismo ) no va bien, si no me arreglas esto no te lavo la ropa(esto último doy fé que es verídico .
En fin, que le vamos a hacer, jejeje
Añado: las presintonías de la radio del coche...
O quizá era la excusa perfecta de alguna para arrastrarme hasta la boca del lobo
Un saludo!
Hombre, es que los informáticos valemos para todos y todos valen para informáticos...
Es una coña, aunque sí es cierto que cambié un poco mi punto de vista después de conocer a auténticos cracks que no son ingenieros informáticos (pero que se interesan y aprenden), y después de reconocer (me costó, sí) que había muchos compañeros de carrera que más les había valido hacer geografía o literatura... (ambas carreras muy nobles, ojo).
Los únicos intrusos son los que no hacen bien su trabajo ni quieren aprender, por muchos títulos que tengan.
Algunos de lo mejores profesionales que he conocido y con los que he tenido el gusto de trabajar tenian carrea. Pero también los peores la tenian.
Para los primeros (los mejores) ser ingeniero en informatica se trata de algo sin importancia, pero los "peores" es algo que no paran de repetir y repetir.
También he trabajado con autenticos crack que no han ido nunca a la universidad.
En resumen, que hay de todo, y en esta profesión, lo principal es la motivación y ganas de aprender que tengas, independientemente de si lo haces en una facultad, con un libro en tu casa o navegando por internet.
"Para los primeros (los mejores) ser ingeniero en informatica se trata de algo sin importancia, pero los "peores" es algo que no paran de repetir y repetir."
Que buena esa frase. Para mi el colegio de informáticos seria algo así como la SGAE, una asociación de ... "gente" (dejemoslo así) que busca culpables a su fracaso profesional.
Hola Luis, coincido totalmente contigo. Menos "titulitis" y más profesionalidad!!
Sobre esto mismo ya he leido demasiado y es una discusi'on de sordos. Antes que nada aclaro que NO TENGO título.
Si un dentista, arquitecto, médico, abogado o cualquier otro profesional leyera esto se despansaria de la risa. A un dentista le interesa verdaderamente muy poco si su vecino de 24 años es un genio haciendo tratamientos de conducto, extrayendo molares o haciendo implantes, lo que realmente le interesa es tener prestigio social, cambiar el auto a fin de año, mandar a su hijo a una buena escuela y a su mujer a un shopping. Preguntenle a un arquitecto que opina sobre que cualquiera, con conocimientos, pueda hacer su trabajo....
Y digo m'as, la sociedad reconoce a estos profesionales y mientras menos intrusismo mas reconocimiento porque quien se dejaria defender en un juicio por un no-abogado o mandaria a su hijo a un no-dentista?. Pero si cualquiera con conocimientos pudiera hacer el trabajo del dentista entonces quienes irian a un dentisata titulado y cuanto estarian dispuestos a pagar?
Y en cuanto a la profesionalidad, es sabido que la mitad de los m'edicos no son muy buenos, que el trabajo de los escribanos lo hace cualquiera y que los odontologos buenos son muy pocos pero no por eso renuncian a sus privilegios o cobran menos.
Escribo este comentario, no porque esté a favor de la formación de los colegios sino porque me parece equivocado el enfoque que siempre se le da a este tema, el de la profesionalidad del trabajo realizado en lugar del prestigio social y los beneficios económicos que traen a los colegiados y a la profesión. Solo los informáticos titulados defienden a sus pares no titulados en una especie de mundo paralelo porque en el resto de las profesiones a eso le pueden llamar estupidez crónica o algo similar. Además, yo no me imagino que cuando se creó el colegio de arquitectos le hayan dado lugar para opinar a los no-arquitectos, simplemente es una atribución de los arquitectos y listo, si a un no-arquitecto no le gustó, fue una lástima y listo.
¡Hola Luisete! Nunca he comentado en tu blog porque generalmente trata sobre tecnologías que yo no utilizo.
Ésto sin embargo sí me toca :)
Considero que es un asunto bastante polémico, y no es algo trivial posicionarse en un bando u otro.
Yo personalmente opino que no sería del todo desacertado regular la profesión, ya no para tener yo más trabajo como ingeniero que soy (Que me la suda, estoy convencido de que soy bueno en mi trabajo y no necesito que nadie me defienda), sino para ofrecer unas determinadas garantías y responsabilidades tal y como sucede con las demás ingenierías.
Ahora bien. ¿Deben todos los profesionales de IT ser ingenieros? ¡Para nada! Eso sería equivalente a decir que todo el sector de la construcción debe estar formado por arquitectos e ingenieros de caminos. Sería ridículo.
En las tecnologías en general, y en el sector informático de España en particular, la demanda de puestos donde se requiera un ingeniero informático son poquísimos. De ese modo, aquellos autodidactas, físicos, matemáticos, etc. que ejercen la profesión, segurián pudiendo trabajar sin ningún problema. (Ojo, yo no considero a un DAI o ASI intrusismo laboral, sino todo lo contrario).
Como apunte: La empresa más grande de este país de tecnologías de la información (Telefónica) sólo contrata ingenieros. Cualquiera que haya visto la pirámide de TID verá que en el nivel más bajo no hay prácticamente empleados, porque se subcontratan. Sin embargo los jefes de proyecto son todos necesariamente ingenieros.
Un saludo :)
P.D. Desde luego que existen ingenieros malísimos. De hecho te aseguro que en mi clase había muy poca gente cuyas inquietudes y vocación por la informática se arrimaran a la que sé que tú tienes.
Ni ingenieros ni gaitas... todos abogados, que eso te sirve para cualquier cosas... desde RRHH hasta presidente del gobierno (matas moscas con el rabo tambien vale para esto vease Bush).
En Telefonica si, todos son Ingenieros... concretemos Titulados Superiores... ahora en ¿que?... da igual, en lo que sea, hasta ingenieros agronomos, si luego ellos te dan un cursillo... Doy fe... mi ultimo jefe era FISICO TEORICO y no toco un ordenador antes de entrar en Telefonica....
En fin... todos abogados...
Curioso, gracias por el aporte .
Problemas al enviar correos a Hotmail/Live con System.Net.MailMessage
Muchas gracias..me a sido de gran utilidad..
la respuesta no me fue de utilidad
Hola que tal estoy haciendo una aplicacion para subir fotos de productos y pues no pasan de los 4mb pero pues si por error suben algo pesado pues manda a la pantalla de error como cuando no encuentra una pagina no hay forma de en lugar de que se mande esa mandar un mensaje o pagina mas amigable? se que no estaran subiendo cosas asi pero por controlar ese error porque por lo que veo se ejecuta en el servidor porque no entra al codigo, espero me puedan ayudar gracias
muy tip, tendras alguno para realizar servisios de WEB [Webmethod] en C#
No entiendo muy bien tu pregunta...
Bueno, dicho con todo respeto, creo que el Sr. Ted Neward ha tomado algo fuerte o se le ha aflojado un tornillo al pobre. La verdad, Luis Ruíz Pavón, tienes toda la razón. Creo que a este Sr., solo lo debe entender Dios. Yo he leído su artículo y no llegué a la mitad del escrito y aún seguía pensando ¿De qué esta hablando este tipo?, bueno me aburrió a tal extremo que terminé abandonándo mi lectura. En síntesis, un bodrio para nada útil y para olvidar.
Además de todo esto, hacer una comparación entre el ShellScript de UNIX con las tecnologías NET es lo mismo que comparar una canción de Iron Maiden con Julio Iglesias. Realmente, es cualquier cosa.
Bueno, espero y tengo la esperanza que el support del MSDN de Microsoft, no incluya más trasnochados como este señor. Señores, por favor, seamos más serios en nuestro trabajo. Un humilde consejo.
Gracias y hasta luego colegas del mundo.
Gracias, justo lo que estaba buscando.
La única manera de crear sistemas informáticos con garantías es siguiendo procesos que aseguren la calidad de los mismos. Las personas dirigidas a gestionar esos procesos son los ingenieros de la información, o ingenieros informáticos.
Por eso, la regulación de la profesión de Ingeniero en Informática es fundamental para el desarrollo tecnológico de nuestra sociedad.
Todo lo demás es paja intencionalmente metida por personas que no han cursado la carrera y que en absoluto conocen la formación que se recibe en la misma.
Tengo win 2003 server SP2 con framework 1.1, 2,3,3.5. Intento instalar Microsoft AJAX Extension (ASPAJAXExtSetup.msi) y me da error inesperado 2356. Y sin instalarlo la aplicacion no funciona, aunque tenga en la carpeta bin la dll del AJAX.
En el ordenador de desarrollo funciona perfectamente, incluso en otro servidor con 2003 server se me instalo bien, pero en el que necesito instalarlo me da ese error.
No se que es lo que tengo que hacer para que me deje instalarlo, o para que me funcione la apliacion con AJAX.
Gracias de antemano.
No se a penas lo voy a probar
"La única manera de crear sistemas informáticos con garantías es siguiendo procesos que aseguren la calidad de los mismos. Las personas dirigidas a gestionar esos procesos son los ingenieros de la información, o ingenieros informáticos."
Te equivocas rotundamente, conozco sitemas de ese tipo gestionados por profesionales que no son ingenieros y la verdad es que tu mismo te asombrarías :)
Gracias!!! otra manera más, notable!
podrian de favor pasarme el codigo de la solucion tengo exactamente el mismo problema
muchas gracias por su colaboracion
carvajalfh@yahoo.com.mx
carvajalfh@hotmail.com
Estimados: La verdad... no estoy seguro de haber leido el mismo articulo que ustedes.
Lo que ese señor escribe es un "análisis de los motivos para utilizar n capas". Yo no ví que él diera ninguna recomendación sobre que modelo o software a utilizar.
Quizás el punto más molesto, para nosotros los informáticos al menos, es el lenguaje demasiaedo adornado y no tan "simple" como el que se utiliza en los papers. Yo hubiera preferido ejemplos más fáciles de entender.
Pero creo que lo mejor del paper, es que antes de cortarle dos pedazos a la carne, hay que medir el diámetro de la olla. jejeje
Saludos colegas.
tendrás un ejemplo pero con vb no con c#?
te felicito por el post. la verdad esta super claro y funciona de maravillas.
La unica cosa que queria agregar... me pasó que renombré los archivos de recursos locales a ...en.resx y ...es.resx y no dejé ninguno sin especificar la cultura y me encontré con que no funcionaba nada.... SIEMPRE HAY QUE DEJAR EL ARCHIVO DE RECURSOS POR DEFECTO (EN EL IDIOMA QUE SE DESEE PERO ESTE ARCHIVO DEBE EXISTIR SI O SI)
Hola estoy creando una web multi-idioma y este codigo me ha ayudado mucho, aun así me surgieron dudas, al basar el sitio completo en un Master Page se puede enlazar el sitio solo a dos referencias(una por idioma) e incluir en este archivo el la totalidad de textos en todo el resto del sitio para que el enlace lo haga desde el principio y todas las páginas sean traducidas sin realizar un enlace por pagina?? en lugar de incluir textos independientes existe la forma de incluir parrafos o textos completos en el archivo de cambio de idioma y si es así podrias mostrar como realizarlo?? y bueno para finalizar una felicitación a este foro !!!
a mi tambien me da un error javascript 'sys' no está definido?
alguien sabe como solucionar este problemita?
Se agradece la ayuda; muy util
Hola!
gracias! estuve buscando la solución por todos lados y me la distes! muy bueno! gracias!
Hola! Peaso de canción!!!
Si no te importa, la posteo en mi blog, con tu link de blog como autor :)
Que la cación no es mía me la han enviado por correo!!!
Yo lo vi aquí: francesc.caliu.cat/.../el-javascripy
(Espero que el sistema anti-spam de Community Server sea benevolente conmigo. :-P)
Muy buena forma de evitar sobre todo el descuido típico de dejar el debug=true.
Espero que poner la contraseña en texto plano dentro de la función sólo sea por motivos ilustrativos y no lo tengas por costumbre :P
Saludo!
Pues efectivamente no!!! como tampoco suelo poner ese tipo de código en el Load de la página...
Como podrás observar es un ejemplo rápido y sencillo, como bien dices ilustrativo ;)
Hola, estuve viendo el articulo, y no me queda muy claro cuando nombras el CRM si estas hablando de un componente a desarrollar o si se trata de un componente ya existente (como por ejemplo un Microsoft Dynamics CRM).
Supongo que se trata de un componente, porque hablas de "entender su modelo de entidades" cosa que da a entender que es algo ya creado. Entonces la pregunta seria ¿Con que CRM estas trabajando?.
Esteu pillats....
Tienes problemas con las rutas, con tu mismo código he cambiado las rutas y funciona perfectamente, la unica cuestión, es como hacer que el PDF se pueda seguir editando... es decir tengo una base de datos, relleno los campos que tengo y luego cuando se abre el pdf, sigo editando los campos que me quedan.
Saludos. y Gracias
Tienes toda la razón, la verdad es que no he especificado pero es Microsoft Dynamics CRM.
¡Excelente post, Luis!
No sabía que VB sí lo permitiera.
Creo que esta diferencia "apunta" al distinto nivel al que intentan orientarse los lenguajes. Los creadores de C# quisieron que el programador fuera consciente de que una propiedad *no es* un l-value ("left hand value", en la jerga de C), mientras que los de VB prefirieron ocultar ese hecho.
Por cierto, a primera vista no me queda claro por qué los de VB generan una variable temporal para 'a' también, cuando solo haría falta una para 'aa', ¿no?
Salu2 - Octavio
Quién lo haya hecho debía de estar un poco aburrido. Pero la verdad es que es buenisimo.
Gracias por el comentario Octavio.
La verdad es que tienes toda la razón , no me había fijado :)
Hay que introducir este código en el web.config de la página y el error desaparecerá:
<httpHandlers>
<remove verb="*" path="*.asmx" />
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
No termino de comprender bien la funcionalidad del modelo en 3 capas
Mi nombre es Jonatas y estoy haciendo una encuesta con miles de programadores en Latino America y queria ver si podrías colaborar conmigo. Se te parece, también yo podría colaborar de alguna forma, haciendo una donación por ejemplo.
Lo que te pido es muy simples, tu ayuda para invitar los visitantes del sitio a opinar sobre tecnología. Te cuento que es un trabajo muy serio que esta sendo llevado a cabo en mas de 60 países sobre el futuro de la industria de software en el mundo.
Gracias por tu tiempo y espero tu respuesta.
Jonatas
jonatas_dornelles@ecglobalpanelcorp.com
www.ecglobalpanel.com/.../registerPanel.php
Alguien me podría decir como crear un arraylist con varias columnas?
Date cuenta que el ArrayList es un contendor de objetos y que para conseguir tener esas columnas que tu quieres sería mejor utilizar un Array, no?
De todas maneras puedes create un objeto (Que hará de fila) que tenga todas las propiedades (Que harán de columnas) y rellenar el ArrayList
Hola. Buscando soluciones a este error me he encontrado con esta. Pero mi situacion particular es con Word. Pretendo instanciar una aplicacion word de la siguiente manera:
Dim oWordApp As New Microsoft.Office.Interop.Word.Application
y me genera el error:
Error al recuperar un generador de clases COM para el componente con
CLSID {000209FF-0000-0000-C000-000000000046} debido al siguiente error: 80070005.
He estado probando las soluciones para excel pero nada. No sé a qué puede ser debido y la solución posible. Alguien tiene alguna propuesta??
Quisiera ordenar un ArrayList según 2 propiedades.
No me funciona (evidentemente) independiente ya que 1 orden me pisa el otro.
Desde ya agradezco la ayuda, Rto.
Muy buena tu solicion
Pero: en que afecta el dejar el debug en
True?
Puedes leer en mi blog varios artículos sobre ello :)
pero por que todo lo hacen en csharp porque no en asp vb
Pues no lo sé compañero, yo hasta ahora he utilizado esta manera.
Buenos dias
Estoy programando un WS para conectar una aplicacion con SAP, funciona en mi maquina pero cuando lo paso a productivo me dice que no se puede crear el tipo 'NAMESPACE.NOMBRE_CLASE' y ya no se que hacer, no encuentro informacion y he dado mil vueltas y probado mil cosas, como lo hicste tú ??
Un saludo y gracias
Hola. En respuesta a los que intentan trabajar con imagenes por lo que he podido observar, no se puede referenciar imágenes ya que no disponen de un id como lo tienen los elementos de formulario por lo que supongo no podremos cambiarlas a nuestro antojo (no al menos de este modo).
Un saludo a todos, muy interesante el articulo.
A quienes desean trabajar con imágenes: probaron con el producto AspPdf ?
www.asppdf.com/manual_05.html
Slds
Excelente gracias
El código XML va dentro del nodo System.web
Así desaparece el error de Sys no definido
Hola , necesito una ayuda , tengo una grilla con con Templates , un boton para editar los ItemTemplates , solucione lo del problema del cursor usando esto:
private void focoEdicion(int indiceFila,GridView grilla,string control)
GridViewRow fila = grilla.Rows[indiceFila];
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.SetFocus((fila.FindControl(control)));
esta funcion ubica el foco cuando EDITO una fila
mi funcion de editar es:
protected void imgModificarPais_Click(object sender, ImageClickEventArgs e)
if(this.hiddenFieldPais.Text.Length!=0)
this.ISBtxtAccionPais.Text = "EP";
int indiceFila = //Aqui ubico la fila que quiero editar
this.ISBgvPais.EditIndex = indiceFila;
ListarPaises();
focoEdicion(indiceFila, this.ISBgvPais, "txtPais");
pero parece que tener este codigo que me selecciona la fila a editar:
protected void ISBgvPais_SelectedIndexChanged(object sender, EventArgs e)
int fila = ISBgvPoblacion.SelectedIndex + 1;
this.hiddenFieldPoblacion.Text = fila.ToString();
}//con esto selecciono la fila
mantiene seleccionada la fila de la grilla , lo que hace que scriptmanager , ubiqe foco , pero PROBLEMA , cuando quiero ubicarme el otro lado del la caja de texto, al final o al medio ,al parecer hace postback y no me deja ubicarme , pierdo el foco =S.
Por favor si me podrias ayudar seria de lo mejor , gracias
perfecto gracias
PingBack desde Mostrando caracteres acentuados en javascript alert y confirm « Esquina .Net
PingBack desde Mostrar acentos en alert y confirm en javascript « Esquina .Net
y porque no preguntas en tu pagina principal al hacer postback por la session["MY id"]='Key', sino mandalo para una pagina x con response.redirect("paginax.aspx")
asi
isPostback
if (mysession["My id"]=='Yo mismo pero mejor')
Bindata(); // cuerpo del programa principal
else
Response.redirect('Mipagina del error');
podras ser mas especifico en ese ejemplo, porque yo tengo el mismo problema, he creado un boton en el masterpage que en su evento click tengo : Session.Abandon(), pero le doy regresar en la flecha del explorador y me carga igual todo, no me pide ni usuario ni password, debo decir que mi aplicacion utiliza autenticacion windows. Por favor ayudenme si alguinesabe como hacer eso pongame un codigo de ejemplo. Otra consulta si es que la saben y aprovechando este medio, como hago para implenetar el cache en el cliente?
Ummm muy bueno,pero este tipo de aplicaciones no nos sirve de mucho, ya que es muy parecido a usar el ANALIZADOR DE CONSULTAS DE SQL.
Ohhh ke wena investigacion! me ahorraste dias de sufrimiento por no ver llegar mis mails a mi cuenta de hotmail! muchas gracias! jeje
WeRiTa MoShA =D
P.D. El que dice que esta informacion no le ayudo que diga cual es el problem! porke la sugerencia es buena!
no entiendo nada de los codigos html,ni de javascrip.tssss
Excelete, te sobraste!
Estimados... una consulta ¿ y que pasa cuando necesitamos redireccionar la pagina y tenemos valores u objetos almacenados en la sesion, los cuales queremos leer desde la siguiente pagina?
Cada vez que pasemos a la siguiente estos moriran...
¿Y un usuario normal sabe y debe tener acceso al analizador de consultas?
nesesito instalar microsoft
gracias por la info me sirvio bastante.. habia estado batallando mucho y solo era cambiar la propiedad a true!! mil gracias
Junio del 2008:
ADO.Net incompleto la beta de Entity Framework para Visual Studio 2008, así lo indica.
Llueven criticas por su rendimiento.
Si Visual Studio o la herramienta que uno usa es de temer, por lo impráctica, enciclopédica o poco nemotécnica, es decir para no Dummies . Y si el lenguaje poco tiene que ver con la sintaxis humanoide o intuitiva (lenguaje natural), y hay que volverse robótico por objetos y clases adivinando con intelligen sense. Como es que podríamos aplicar desarrollo por capas, o agile o extreme development con SCRUM, ITIL, UML a grandes proyectos de 30 días aprendiendo otros lenguajes diagramáticos y como podremos usar estándares, best practices, o factories de software ?
Si ya estamos en la versión NET Famework 3.5 y luego del CLR viene el DLR con Iron Phyton y Iron Ruby, y los funcionales como F Sharp, y otros como blend, silverlight, definitivamente no habrá ningún patrón standard, y luego de luchar y aprender la enciclopedia
Estaremos en la versión 8.0 estilo DOS para cambiar al VDLL (Virtual inteligen Artificial development library).
La saga continua y el dragón, divinamente.
Google, buscar: caca ADO gallinas
www.ajlopez.com generador génesis
Hola trate de utilizar su codigo para generar mensajes de alerta, pero no me funciona, alomejor estoy haciendo algo mal. me podria orientar a para poder utilizarlo.
Bruno, buen dato con tu comentario de resetear el IDE. Tuve el mismo problema por mas que instale y desinstale en dos ocasiones. Luego de la primera instalacion del VS2005, instale el service pack 1 para VS2005 en ingles!!!. No tuve problemas como los que comentan en donde ciertos items de los menus se mostraban en ingles y español, pero si! no podia ver las plantillas para generar proyectos en c#. Realmente no se si debio al SP1 o por otra cosa.
Saludos desde Peru
Hola, solo como comentario, tambien tuve el mismo problema, pero se solucionó cuando desinstale el microsoft framework version en español, en mi caso porque el team y el .net estaban en ingles.
necesito crear pdf con informacion de una base de datos como se hace porvaor es urgente gracias
Al hacer refresh sobre la pagina (f5) se activa el evento onunload,como puedo remediarlo????
Hola Rob, ese es el comportamineto por defecto de la página por eso tuve que idear esta parafernalia.
Quisiera saber cuales son los dos dll-s a copiar en la carpeta bin del proyecto. Por otro lado, ¿Es suficiente con copiar dichos dll-s en la carpeta bin? ¿o hay que hacer algún procedimiento especial?
Gracias, muy útil...
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
<customErrors mode="Off"/>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
Man como hago para solucionar este problema en mi computador me funciona bien pero cuando lo subo a un servidor externo me sale ese marika error..... ayudame porfa GRACIAS
Hola me parece muy interesante todo lo que han mencionado. Por mi cuenta ya pase por el problema de los permisos para utilizar los COM de excel pero ahora me surge un nuevo problema al publicar dicha aplicacion en un servidor Win 2000 que tiene Excel 2000. El error es el siguiente:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.: at Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
En algun lado encontre que no es posible utilizar estos componentes con Excel 2000 lo cual no me convence.
Cualquier ayuda que me puedan dar será mas que bienvenida gracias...
Tengo Framework 2 con SP 1 y mis correos enviados desde una apliacion window forms nunca llegan a los destinatarios sean hotmail o sean cualquier otro. Nunca llegan y lo peor de todo es que no saca error. Mi codigo esta bueno porque el mismo es usado en una aplicacion WEB que envia los correos sin ningun problema.
Si alguien me puede ayudar se lo agradezco muchisimo
Me parece superbien encontrado! :)
Me ha valido para solucionar un problema en un cliente.
En teoria esta opción esta en la pagina de Administración en configuración de Form Services.
Supongo que por alguna razón no descomenta la linea del web.config.
Queria consultarlos porque hice una aplicacion que levanta un excel del lado del servidor, a pesar de no estar aconsejado.....y me encontre que al querer levantar mas de una instancia me da un error de concurrencia.......Alguien tiene alguna data de porque puede suceder algo asi???? gracias!
Diego
como puedo llenar un dataset en aplicacion web
tengo la misma duda que el usuario anterior, porque he copiado las dll a la carpeta bien, ya que no puedo instalar el AjaxControlExtender, pero mi tira el siguiente error:
Mensaje de error del analizador: No se puede cargar el archivo o ensamblado 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ni una de sus dependencias. El sistema no puede encontrar el archivo especificado.
<compilation debug="false">
Línea 33: <assemblies>
Línea 34: <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Línea 35: <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
Línea 36: <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
pese a que System.Web.Extensions.dll se encuentra en la carpeta Bin. Debo modificar el web.config para que busque en la carpeta Bin?
ya solucioné el problema.
1) Hay que copiar las dll a la carpeta Bin, éstas se encuentran en:
C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025
Una vez copiadas a la carpeta bin, hay q poner, boton derecho sobre el site, add reference, en la solapa de browse, seleccionar las dll, y eso da la referencia en webconfig.
Muy bueno compareño,
para quien le sirva un ejemplo sencillo
alert("Seleciona el a"+'\u00f1'+"o");
Muy bueno Luis, te admiro mucho.
Nos vemos en los foros de MSDN
Muy Bien ... gracias
Justamente tenía este problema.
Para mejorar la funcionalidad de esto es mejor ponerlo sobre una página padre de todas del sistema y sobreescribir el FindControl de la pagina. Asi de esa forma no debemos ensuciar código en el resto de las páginas.
Hola, yo he intentado la solución de copiar los .dlls pero me casca con este error en el web.config
Línea 4: <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
Me dice que el atributo type no es reconocido...
Vale, la solución es cambiar el framwork que el sitio web tiene asignado en el IIS, que parece ser que por defecto tenía la v1.0, no es mas que cambiarlo a la v2.0 desde el IIS, seleccionas el sitio web, boton derecho, pestaña ASP.NET y hay un combo donde seleccionas el framework... y a funcionar!
no es ningun bug lo k pasa es
son 2 updatepanel diferentes
ahora si fuera en un mismo panel si lo seria
lo extraño es si dices k es un formview por k lo pones en diferentes updatepanel ??
debe ir en el mismo y darle templates diferentes
ESTOY UTILIZANDO EL SESSION.ABANDON PERO EN REALIDAD NO ME ESTA CERRANDO LA SESION PUESTO QUE SI CON LA BARRA DEL EXPLORER ME REGRESO PUEDO SEGUIN EN LA PAGINA COMO SI NO HUBIERA CERRADO LA SESION. alguin sabe por que??
SALUDOS
Excelentísimo aporte lo felicito, la pedagogía es su campo !!!!
creo que yo tengo un problema no se que usar como host porque siempre me sale mensage failed creo que no se como hacer lo si me puedes ayudar te agradeseria gracias
Una pregunta, tengo un ascx que está contenido en un aspx que tiene master page. El problema que tengo es que quiero hacer referencia desde el ascx a un control del aspx, y me marca error. Object reference not set to an instance of an object.
Que ámbito o contenedor debo de usar? ya probé this.findcontrol, page.parent.findcontrol, parent.page.findcontrol, y nada...
Gracias por la ayuda..
pspspspspsps
Amigos, el problema del 'sys no está definido', se soluciona poniendo el código q el amigo ingrbc00 puso arriba, el código debe ir dentro de la sección <system.web></system.web>
Saludos cordiales.
Me salvaste la vida mi pana, excelente articulo y muy bien explicado!!!
jorgeluislopezromo30@hotmail.com
Hola Luis, este post es del 2 de abril... donde está el siguiente, donde ibas a explicar consultas más complejas???
Gracias!
Ya se habló varias veces sobre este tema en geeks.ms , el tema los colegios, titulaciones, etc. http
Ya se habló varias veces sobre este tema en geeks.ms , el tema los colegios, titulaciones, etc. geeks.ms/.../el-gobierno-planea-eliminar-todas-las-ingenier-as-superiores.aspx
necesito lo mismo con java, por favor unas pistas
Lo siento Jordi :( pero es que no tengo ni para respirar.
Espero retomar esto en breve ;)
excelente el codigo, pero, funciona cuando el control esta contenido dentro de un update panel, no puedo ver el ejemplo que te marco
Verifica en el IIS que este utilizando la versión de .net correcta 2.0.50...
cuando envio un correo.....me sale una franja amarilla "Para continuar enviando el mensaje PUZZLE(sentimos los incovenientes pero nos ayuda a detener a remitentes de mensaje no deseado)Confirma tu cuenta de correo electronico.
No me permite enviar ningun tipo de correo a mis contactos..
NO PUEDO ENVIAR CORREO A NINGUN CONTACTO...AL INTENTARLO SALE EL SIG.MENSAJE EN FRANJA AMARILLA......"PARA CONTINUAR ENVIANDO EL MENSAJE PUZZLE (SENTIMOS LOS INCONVENIENTES PERO NOS AYUDA A DETENER A REMITENTES DE MENSAJES NO DESEADOS) CONFIRMA TU CUENTA DE CORREO ELECTRONICO......MUCHO AGRADECERIA EL APOYO EN ESTA SOLICITUD.
CARLOS-ENRIQUE1904....
De gran ayuda, gracias
no tengo problemas de envio...
Yes I agree with you!
I am here at a forum newcomer. Until I read and deal with the forum.
Let's learn!
No te imaginas todo el tiempo que estuve buscando una solución al problema este (en realidad no era el mismo, pero uno muy similar) y nunca encontré nada. Hoy de casualidad llegue a tu blog y me encontré con esta sorpresa. Muchas gracias!
¿Esto hay que hacerlo en la parte cliente o en la parte server?
Thank you,
Buena explicacion, pero podrias poner un ejemplo sobre como quedaria el Web.config y como accedo a las variables de sesion despues desde otras paginas.aspx???
saludos una pregunta, si tengo varias web que se inter-relacionan entre si, cuando creo los recursos globales y quiero tener varios idiomas tengo q estar pagina po pagina actulizando los enlaces?
MUCHISIMAS GRACIASSSS!!
Llevo media mañana intentando conseguir eso por código y solo con esto funciona perfectamente.
Bea
esto me tiene loca noce como se hace
Una pregunta acerca de las variables de session, tengo un sitio con archivos asp y aspx, el problema q tengo es q las variables de session se me pierden cuando las quiero recuperar con el archivo aspx, como puedo recuperarlas, me podrian ayudar?
Exactamente lo q estaba buscando
al dar enviar aparece un msje:"PARA CONTINUAR ENVIANDO EL MENSAJE PUZZLE (SENTIMOS LOS INCONVENIENTES PERO NOS AYUDA A DETENER A REMITENTES DE MENSAJES NO DESEADOS) CONFIRMA TU CUENTA DE CORREO ELECTRONICO.
Estimado MIL MIL gracias, estube con este problema por mucho tiempo te felicito la solucion simple y precisa, reitero mis agradecimento
mi correo de hotmail no va bien me deja recibir mensages pero no me deja enviar , al destinatario no le llega nada estan vacios ¿QUE PASA CON ESTO ?
Sí, ya se que la GAC está en c:\windows\assembly, pero como sacas los assemblies?
Ejecutando el comando que te he mostrado ;)
Hombre, Luis, que interesante!
en realidad no hace falta el Subst. Basta con una consola de comandos y navegar con el comando "CD" de toda la vida.
Yo lo he utilizando alguna vez, cuando necesitas coger assmeblies de la GAC. CMD.exe + CD + Copy o XCopy
David!!! Cuanto tiempo!!!
Muchas gracias por tu aporte, lo tendré en cuenta.
y ya que veo que os gusta jugar con fuego, a quemarse: elbruno.com/.../net-how-to-navegar-la-gac-como-si-fuese-un-directorio-de-windows.aspx
Genial!!!
Muchas gracias Bruno
Si, si, todo eso esta muy bien pero me quedo con el truco de la consola Cmd (o mejor aun, la de PowerShell), que no necesitan meterle mano al registro ni na... :-)
Un poco mas de informacion: www.eggheadcafe.com/.../el-evento-pageload-se-me.aspx
Muy bien explicado Luis, enhorabuena.
Genial ... y como pedir es gratis, ¿sería posible que dejes una solución con el código completo de ejemplo? (siempre que no sea código cerrado de algún proyecto)
Gracias :D
Gracias ;)
Preparo un ejemplo y subo el código ;)
Estimado Luis, y en este caso la funcionalida por defecto de Audiencia no cubria tu requeriminto
No, como he comentado todas las aplicaciones del cliente trabajan con una aplicación que es la que otorga los permisos, pefiles.... Existe un mapeo del usuario Windows con el usuario de dicha aplicación ;)
Ojala puedan ayudarme..
A la hora de enviar un correo desde mi casilla Hotmail, a los destinatarios de mis correos les llega en lugar de mi nombre, una cantidad de letras y numeros ininteligibles y sin sentido... Al ver un correo asi, uno obviamente piensa que es algo raro, virus.... por esto que quiero saber como solucionar el problema... les escribi a la gente de Hotmail, pero no he recibido respuesta,,,
Ayudenme plis...
Gracias...
A mi me parece que los colegios (cualquiera de ellos) son lobbys que no buscan el beneficio de sus colegiados... sino el de sus directivos... Exactamente lo mismo que pasa con los políticos.
por favor, dejemos de engañarnos a nosotros mismos...
grasias nesesito los asentos.
Hola a Luis y a todos. Tengo una aplicacion en VS 2003 bajo el Fw 1.1. Esta aplicacion la migré a VS 2008 Fw 3.5 y todo bien excepto por el mensaje de error que sale despues del tercero y cuarto PostBack, "La información de estado de la sesión no es válida y podría estar dañada". Mi sessionState mode="StateServer" y necesito mantenerlo asi. Agradeciendo de antemano ayuda, Andres
Buen aporte
Aquí tienes un KB que te puede ser muy util:
support.microsoft.com/.../es
Hola, compañero, soy programador de aplicaciones de escritorio y estoy migrando ASP.NER con C#, por no conocer el lenguaje ASP NET EL LENGUAJE me ha costado LA MIGRACIÓN
Lo que necesito es es colocar en el master page un toolbar con los siguientes botones nuevo, salvar, buscar, salir, etc. lo que necesito es cuando el usuario pulse un boton del toolbar ejecute el metodo del webform activio
Excelente solucion
no puedo enviar un mensaje a el correo en me .com que tengo que hacer. gracias
Muchíiiiiiiiisimas gracias me sirvio bastante
si estas enterado que linq 2 sql alli quedo? - ya murio - y que ms apuesta ahora por Linq 2 object?
Ddaz
si estas enterado que linq 2 sql alli quedo? - ya murio - y que ms apuesta ahora por Linq 2 cualquier cosa?
jeje no se si salio el otro coment... pero es linq 2 entity
@Daniel,
Lo que dices es incorrecto. LINQ to SQL no ha muerto, ni tampoco va a morir. Recomiendo leer entrevista con Danny Simmons, Dev Manager de Entity Framework y LINQ to SQL en el ejemplar de abril de dotNetmanía, que saldrá en unos días.
Por lo demás, el problema de la gestión de los nulos que resuelve Luis aquí se presenta de manera muy similar en Entity Framework.
@Luis,
¡Excelente serie!
Coincido contigo en que "C# 3.0 in a nutshell" es un pedazo de libro, así como también "C# in depth" de Jon Skeet.
Salu2,
Octavio
Gracias Octavio, viendo de un maestro de LINQ como tú ;)
Me apunto el libro ;)
y por en lo que lei decian "que ya no van a hacer mas cosas"con linq 2sql..., lei en el blog de los de EF ... dicen que no esta muerto pero a su vez dicen que ya no van a hacer nada alli... por algo EF dejo de usar linq 2sql.. no?? - para la proxima version - .. logicamente oficialmente no van a decir "esta muerto" .. pero el echo de que lo dejen de lado, y que ya no le vayan a mover mas..., algo con lo que estoy de acuerdo, ya que Linq 2SQL es el "Typed dataset " del 2008 xD
les dejo unos links para que le den una ojeada xD :
www.stephenforte.net/PermaLink,guid,bc1bc043-3cdc-4ac2-8b46-3c72ad1d61cf.aspx
blogs.microsoft.co.il/.../no-pulse-we-have-a-dead-linq-2-sql-on-our-hands.aspx
codebetter.com/.../linq-to-sql-is-dead-read-between-the-lines.aspx
y repito... si linq2sql fuera tan bueno, por que cambiaron a linq2 entity??... simple.. ms se dio cuenta del error xD.
Tengo mi carpeta img donde guardo mis imagenes, cada uno tiene por nombre su codigo, como hago para reenviar ese codigo y concatenarlo a un objeto html, algo asi <img src=img/& '"codigo"'"
ya se que puedo usar cookies o sesiones para el dato, pero como lo concateno en el html.
Saludos.. Gracias
Gracias por compartir tus conocimientos.
Tengo el mismo problema que Adrian, alguien nos puede ayudar?
Cuando un usuario excede ese máximo se lanza un HTTP 401.1 error, verdad?, por lo que sí queréis podéis capturarlo y mostrar una página más amigable:
<system.web><customErrors mode="On" defaultRedirect="error.aspx"><error statusCode="401.1" redirect="Custom401.aspx" /> </customErrors></system.web>
Hi: M pueden ayudar, kiero enviar correos masivos por live.com pero solo m permite enviar de 10 en 10 y 20 mensajes como minimo al dia, habra algun parche adicional o configuración para enviar de 50 en 50 e ilimitados al dia..??????(como en hotmail.com)
....ademas tengo una cuenta en hotmail.es y me sucede lo mismo. GRACIAS POR SU AYUDA-.-
***
y como pongo texto en negrita?
No me fucionó
Hola tengo problemas al recibir correos de alguna persona porque no me llegan pero ellas si que pueden mandar a todo el mundo
COMO PUEDO HACER PARA CORREGIR ESTO. DE ANTEMANO MUCHAS GRACIAS
quiero poner el foco, pero al final de algun texto, que tenga ya escrito en el textbox c#
Para obligar a mantener las variables de sesion, ante cualquier evento, y obligar a refrescar la pagina la 2ª vez que se abre, yo he puesto los siguientes tags
<base target="_self">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
¿Quieres ver el error que te está dando el servidor o quieres mostrar una página de error personalizada?
Hola Luis, soy muy nuevo en el manejo de Web, y más aun como publicar una Pagina Web en .net, tus respuestas me parecen muy acertadas, y al igual que Yeison Manco tengo un problema al ejecutar la pgina web desde una Pc remota, no puedo ver el error, me imagino porque tengo algo que me impide verlo, y el mensaje es el siguiente:
Pero esto debe tener algo que ver con mi Aplicación o es cosa del web.config, por si te ayuda a dar una respuesta, tengo windows server 2000, y antes ya tenia una aplicación en Asp trabajando, que funciona normal, agregué una aplicación con aspx en el mismo directorio virtual, pero previamente instalé el Framework 2.0 y eso es lo que he realizado hasta ahora pensaba probar con un nuevo directorio virtual pero antes espero tu comentario.
Hola Amigos, necesito seleccionar una opcion del dropdownlist con la opcion seleccionada buscar en una tabla precargada supongo, buscar el registro que hace match con lo seleccionado y mostrar valores en otros campos., todo esto sin recargar la pagina.
Una cosa mas, se puede escribir en un dropdownlist y vaya haciendo la busqueda correspondiente ???...
Muchas Gracias
hola mi problema es que al introducir mi correo y mi clave sale que ahi un error y no me da edceso a mi correo no entiendo que pasa que puedo hacer
me estan llegando correos de personas que no conozca pasa todo los dias por ejemplo marret25@hotmail,com
me estan llegando correos de personas que no conozco todo los dias recibo correos de un tal marret25@hotmail.com
quisiera saber cual es la infraccion que he cometido porque solo envio musica y reenvios de correos que recibo de mis amigos
Me pasa lo mismo me pueden mandar por mail la solución valericienta@gmail.com.
Muchas Gracias !!!!
Thanks a lot!
Para ver los errores puedes cambiar el tag del web.config:
Recuerda que esto no debe estar así en PRO :)
Que pasa con las paginas creadas con MasterPage??? en VS2008
Para rizar el rizo, castellanamente hablando:
ü -> \u00FC
Ü -> \u00DC
ç -> \u00E7
Ç -> \u00C7
¿ -> \u00BF
¡ -> \u00A1
O si quereis algo mas específico, aqui esta la lista completa, solo hay que poner \u00 delante:
unicode.coeurlumiere.com
Funciono :D solo ay que añadirlo...
Buena nota, pena que se me olvidara comentarla a mi :-).. coincido en tu apreciación con Jhon Flanders ..
"En esta línea se presenta también la beta de Windows XP Mode y Windows Virtual PC, que permiten a las pequeñas y medianas empresas ejecutar aplicaciones Windows XP directamente desde Windows 7."
Si ve esto... por ejemplo mi padre, automaticamente asume que no va a poder ejecutar "aplicaciones windows xp" en W7 de por si, como si las aplicaciones para XP fueran distintas que para W7. Luego los periodistas se quejan de que el sector esta muy mal, que si cobran poco, pero es que no solo es hacer mal su trabajo, ademas es desinformar.
eso pasa por leer prensa "amarillista" :p
Por comentar más, el principio del artículo es en mi opinión muy criticable por no informar adecuadamente al igual que lo que comentas Luis.
En él, dice... "Si uno de los errores más reprochados en el sucesor de Windows XP fue su escasa compatibilidad con dispositivos de muchos fabricantes (los conocidos 'drivers') en esta ocasión se han asegurado que no se repetirá. De hecho es uno de los puntos que más destacan."
La compatibilidad de funcionamiento de los drivers, no es culpa del sistema operativo, sino de los fabricantes de los dispositivos que son quienes tienen que desarrollar dichos drivers.
Dicho esto, la frase que he resaltado y que está al principio del artículo, denota o una clara y manifiesta intención de culpar a Microsoft o una desinformación latente, máxime cuando indica "...en esta ocasión se han asegurado que no se repetirá...", y no es que se aseguren que no se va a repetir, porque eso es imposible, sino que simplemente, Windows 7 repite el core de gestión y ejecución de drivers de Windows Vista para que esa compatibilidad sea una realidad, es decir, que si una persona tiene un equipo con sus dispositivos que funcionan a la perfección con Windows Vista, le va a funcionar perfectamente con Windows 7.
En otras palabras, no quiero echar leña al fuego, pero el artículo es lamentable.
Es fácil criticar, pero peor faltar a la verdad, y lamentablemente no será el primer artículo de este tipo que nos encontremos.
Luego... aparecerán los famosos FUD (Fear, Uncertainty and Doubt - pongo lo que significa para que si alguien del CiberPaís (El País) lo lee, sepa de lo que hablo, porque no tengo muy claro que ellos sepan lo que dicen) por culpa de comentarios o artículos mal redactados como este.
Luis, te veo con un poco de odio hacia nuestro amigos de El País. Nos e pq será
Lo que pasará es q habrán preguntado a nuestros amigos Fofito, J y la bruja lola.... y claro está.....
No voy a comentar nada sobre la noticia porque ya está todo dicho :D
De todos modos...
@Jorge
"La compatibilidad de funcionamiento de los drivers, no es culpa del sistema operativo, sino de los fabricantes de los dispositivos que son quienes tienen que desarrollar dichos drivers."
Sí y no... Si el sistema operativo en su propaganda dice ser compatible con versiones anteriores esto DEBERIA ser extendido a los drivers. Evidentemente no voy a pedirle peras al olmo, pero si Vista afirma ser compatible con w98 un usuario que tiene una impresora y le va en w98 esperará que le vaya en Vista. Y si no le funciona no vayamos a decirle nada de modelos de drivers distintos y etc... A él le dijeron que Vista era compatible.
Estoy de acuerdo en que hay una tendencia a "culpar de todo" a MS, pero en el caso de los drivers *algo* de culpa tiene...
Creo que es medio ridículo criticar a un reportero ignorante por llamar Beta a algo que es un Release Candidate, acaso Beta != RC?
RC es solo una de las palabras que Microsoft usa para cambiar la percepción que la gente tiene de algo.
Como molaaaaaa!
JC's
Muy intereante el video, cuando cuelgas un videos donde muestras cómo hacer una aplicacion pequeñita ;)
@David Daniel Arroyo Zari "Ddaz"
Al percatarme de sus ocurrentes "xD" y nerviantes puntos suspensivos, atino a decir firmemente lo siguiente; Su ignorancia en cuanto a LINQ2SQL se refiera es la mas vaga y sutil que eh conocido hasta el dia de hoy, por ello le recomiendo leer algunos libros de Arquitectura de Software, sobretodo si usted se considera un profesional en las TI, creo que ya deberia considerar que no para todo escenario se emplean las mismas tecnologias, o acaso usted solo decide emplear aquellas que son denominadas "last year" - "Most Hot" - "Futures..."?
Respetando su conocimiento, sabia usted que al apostar por el uso de EF se debe atener a consecuencias actuales como la restriccion de Objetos de Negocio y funcionalidad (pasando por USPs complejos)?
Hola, excelente aporte. También funciona correctamente de la siguiente manera:
alert("Seleciona el a\u00f1o");
en vez de:
salu2!
Espero estar a la altura :P
A mi me encantaría asistir pero desde España que un poco lejos, me gustaría seguirlo por live meeting, pero en españa serán las 5 de la mañana y no me fio demasiado de mi fuerza de voluntad matutina...
Mi pregunta es: ¿Lo vais a grabar?¿se podrá descargar una vez finalizado?
Gracias y un saludo!!
Miguel
Sí Miguel, lo podrás descargar :)
En la página del Grupo tienes los enlaces a los webcast y los materiales de las presentaciones :)
Ya queda poco :D
Saludos y suerte ;)!!
Pues si ... WPF != Silverlight, y el que me diga que es igual, me lo traigo a trabajar conmigo y q me lleve a SL algunas aplicaciones de WPF.
Lo peor en este caso, es que TNYT optó por una tecnología multiplataforma como Adobe AIR que realmente es grandiosa para este tipo de cosas y que puede hacernos mucho daño, pero claro nadie dijo nada sobre los problemas que tiene Air (su sandbox explota mucho por causas desconocidas), pero bueno ... a ver que nos dice el tiempo, por ahora es una mala noticia, porque leida entre lineas es abandonar MS por Adobe.
Parece ser que uno de los problemas que encontraron con silverlight es que, en ciertas circunstancias, las letras se veían borrosas. Visto así (borroso) no tiene sentido hacer una aplicación para la lectura de noticias con una tecnología que renderiza las letras borrosas... ¿Vosotros habéis notado el efecto "web sin gafas" de silverlight? Yo no.
Es una pena. Pero la verdad es que tanto WPF como Silverlight renderizan las fuentes de forma bastante borrosa, como si tivieran el ClearType activado. No se ven nada nitidas.
Solo es mala noticia para los trabajadores de Microsoft, para los demás es bueno que haya cosas mejores que Silverlight. Habrá que mirarlo bien para ver si vale la pena cambiar.
Con Silverlight y WPF las letras se ven siempre borrosas. Se nota menos si usas letras muy grandes, pero con fuentes pequeñas el resultado es desastroso. Este es un problema muy importante para muchas aplicaciones.
Pues tienes mucha razón Alfredo, quizá esto sirva para que se pongan las pilas y mejoren en todos los aspectos.
PD: Por eso la competencia siempre es buena :)
A ver cabroncetes q m descuido un segundo y le pegais a M$. Q el NYT cambie a Air es una pena, pero Playboy sigue en Silverlight, es decir, lo bueno sigue estando en M$ ... o puede ser q yo lea mas una cosa que otra, jejeje
PD: en la web de la que hablo realmente no molestan las fuentes pequeñas ;)
Que jodio eres Bruno XDDD
Vaya par de letras ehhh???
Gracias me funciono bien
Yo tuve ocasión de estar en el grupo de desarrollo que hizo el "newsreader" para el Grupo Editorial "La Nación" en Centroamérica, y nos basábamos en el SDK (en beta), que finalmente, se llamó Syndicated Client Experiences (todo ello, basado en WPF). Estábamos en colaboración constante con Brian Wheeler y el equipo de desarrollo en Redmond, y después, MS sacó el lector de revistas para MSDN (windowsclient.net/.../MsdnReaderSetup.exe) que se está usando y no me parece que tenga tan mala visibilidad.
Se trata de un problema de las fonts, y la manera en que cambian de tamaño. Sería largo de comentar aquí, pero existen fonts en las que la pérdida de calidad es apenas apreciable, mientras que en otras se nota más.
Espero, también, que esto sirva como acicate para mejorar la visibilidad de las fonts, pero de todos los subsistemas de Silverlight, es el único al que le afecta esto. La cuestión quizá es si SL debe usarse para leer documentos...
Marino
Ahí estaremos ;)
Toni no me pongas nervioso que es mi primer evento :S
Muy buen dato! Yo tengo en del.icio.us una pagina similar que uso en los mismos casos:
en.csharp-online.net/CSharp_Format_Specifiers%E2%80%94Numeric_Format_Specifiers
yo tambien tengo esa pagina en mis del.icio.us, la otra pagina que uso mucho es esta
blogs.msdn.com/.../773041.aspx
y mis delicious estan aca
delicious.com/.../string
"Me pasa lo mismo me pueden mandar por mail la solución valericienta@gmail.com.
Muchas Gracias !!!!"
Digo yo, porque no postean la solucion asi la vemos todo?
Un apunte
www.ideseg.com/StringFormatVsStringConcat.aspx
Saludos, Carlos.
Gracias a todos por las aportaciones, a favoritos!!!
Dios que bueno jajajaja, y el pre-load es buenísimo ajjajaajjaa.
Ni ribbon ni nada, el tiene su ribbon portátil jejeje.
Francisco J.
Con 1 minuto vale, para ni vale mas...
jejeje está genial, pero la musiquita te revienta la cabeza. :D
Hola Luis, muy claro y bueno tu ejemplo. Exactamente tenia esa necesidad. Muchas gracias lo voy a usar.
PD: ¿Hay alguna manera de que por defecto todas las páginas tengan este comportamiento, sin necesidad de incluir el comando en el load de cada página?. ¿Talvez en el Masterpage?
He editado el post y he puesto un ejemplo usando el Page_Load de la MasterPage.
Hola Luis, muchas gracias por la acotación. Al momento de implementarlo, he tenido unas dudas.
Yo realizo el logeo de un usuario con timeout variables de acuerdo a las funciones que cada usuario. Mas o menos asi:
ticket = new FormsAuthenticationTicket(nombre, false, 60);
encryptedTicket = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket));
Response.Redirect(FormsAuthentication.GetRedirectUrl(nombre, false));
Pero cuando veo el valor de:
HttpContext.Current.Session.Timeout
siempre dice 20 minutos
¿porque no aparece los 60 minutos o X minutos que dura la sesión en la cookie?
muchas gracias por tu ayuda
Session.Timeout es el tiempo que durarán los datos en sesión para el usuario
FormsAuthenticationTicket especifica el tiempo máximo en el que usuario estará sin tener que volver a autenticarse en nuestro sistema.
Sí el Session.Timeout es mas corto que FormsAuthenticationTicket, los datos de sesión del usuario desaparecerán por lo que tendrá que volver a logearse para recuperarlos
Según tenia entendido, el Session.Timeout se usa este o no este autentificado; y el FormsAuthenticationTicket se usa solo cuando estoy autentificado. Ambos, cada vez que hago una petición al servidor, se renuevan sus duraciones.
¿Como puedo averiguar cual es el timeout de mi autenticación?
Yo dependiendo del tipo de usuario (alumnos, profesores, marketings, etc), le doy diferentes duraciones a sus autentificaciones.
Muchas gracias por la ayuda
Hola Luis
Hice una prueba:
Puse el Sesion.Timeout a 1 minuto en el Web.config:
<sessionState mode="InProc" timeout="1" />
Y mi FormsAuthenticationTicket a 60 minutos.
Me autentifique, deje pasar 5 minutos, hice click en un enlace y seguía estando autentificado. Osea le hizo caso a los 60 minutos del FormsAuthenticationTicket y no le hiso caso a Sesion.Timeout.
Pareciera que solo importa FormsAuthenticationTicket para que el sistema le vuelva a pedir autentificarse.
"int sessionTimeout" debería ser igual al TimeOut de FormsAuthenticationTicket
Arturo
Es que no tiene nada que ver una cosa con la otra, en mi comentario anterior te expliqué el comportamiento de cada uno.
Tu post pinta muy interesante. Sin embargo soy uno de tantos que sabe poco de ASP.NET MVC, apenas un concepto definible en un par de líneas.
Me interesa mucho el tema y veo interesante tu post, sin embargo tengo (o tenemos) carencia en conceptos muy básicos (los típicos "10 mandamientos" que cada creador de tecnología define antes de desarrollarla.
Por ello me animo a pedirte que hagas un post con esos datos mínimos básicos que nos sirvan de introducción para absorber mejor esta tecnología.
Un cordial saludo
Hola Julio, lo primero gracias por tu comentario.
No he escrito nada introductorio y me he puesto manos a la obre porque son varios los que han hecho buenas introducciones en geeks:
geeks.ms/.../SearchResults.aspx
Comentar que si tienes el archivo de Settings.Stylecop este se aplica a todas las soluciones que cuelguen del directorio en el cual está dicho archivo.
Es decir, el ámbito va MÁS allá del de solución. Nosotros tenemos el archivo en el TFS en el directorio raíz del team project, donde cuelgan todas las soluciones. Esto nos permite con un sólo archivo de Settings establecer las reglas de StyleCop de TODOS los proyectos y soluciones de nuestro team project!
Saludos! ;-)
Buenas tardes tengo el sienguiente problema quiero publicar mi aplicacion web pero no me permite hacerlo ya que me da este error
Error 9 Se produjo una excepción de tipo 'System.OutOfMemoryException'.
ya llevo mas de una semana con este error y no me permite publicar nada
@Ligia:
Has revisado esto ?
msdn.microsoft.com/.../9w766t6y(VS.80).aspx
Seguro que si, es solo para saber que has buscado.
Por favor quiero obtener el video.
Gracias, genial explicacion. Y cuidado al usar el Abandom las Session se guardan en una hastable y eso puede provocar errores si se tocan cosas mientras salta el evento.
no puedo enviar mensage amis contacto,pues siempre sale mi correo ,deseo tomen notas en esto por favor gracias
Gracias, funciona perfecto
No puedo mandar ni recibir ningun mail a nadie, necesito ayuda. gracias
Espero que alguien me pueda ayudar, el probema es el siguiente, tengo 2 DropDownList lo que muestre en el segundo depende del primero, mas claro, Estado y municipio si selecciono jalisco me debe de mandar los municipios de jalisco, esto lo hago con una variable de sesion que le paso cuando cambia el estado, pero al hacerlo me manda el sig, error:
Los métodos de enlace de datos como Eval(), XPath() y Bind() sólo se pueden utilizar en el contexto de un control de enlace de datos.
Alguien sabe como lo puedo solucionar, estoy programando un VB.Net
Gracias!!
Felicitaciones che !!!
Hola amigos:
bueno yo tuve el mismo problema en dos ocasiones y en un principio no sabia como solucionarlo,pero despues de estar revisando en algunos foros y atraves de la experiencia de lo que me paso, la solucion fue que mis aplicaciones las realice utilizando el framework 2.0 y mi servidor tenia instalado el framewrk 1.1 o algo asi, es por eso que tuve que actualizar el framerwork al 2.o y una ves actualizado mis aplicaciones corrieron normal.
No puedo enviar correos, me sale un mensaje que indica que vaya a www.hotmail.live.com y no he podido resolver esta situación. Si alguien me indica por favor como resolver el problema
Tengo un problema, tengo un textarea que contiene etiquetas HTML, el problema es que al generar el PDF me imprime tambien las etiquetas HTML, como puedo hacer para que me imprima en el pdf el texto tal cual se muestra en la pagina aspx del navegador?
Hola Jean:
Pues antes de mostrar el PDf utiliza alguna Regex para eliminar dichas etiquetas.
Muy bueno el artículo, me ayudó a avanzar un poco. Ahora ya me deja ejecutar el código pero al hacerlo se abre una instancia del WINWORD.exe pero se queda en el taskmgr sin hacer nada y en la aplicación web da un tiemout. ¿Alguien sabe la causa y como resolvrlo?
Pues suerte...(enhorabuena cuando ya lo estés :P)
Y si vienes con pilas es que no lo has pasado bien, jajaja
A pasarlo bien, las pilas ya comprarás unas :P
Saludos!!
Pasalo bien, nos vemos a la vuelta.
Felicidades!
Va a ser lo único que ganéis los merengones este año!
Suerte chaval!!!
Gózate la luna de miel y nada de trabajo... !!!
Felicidades y que disfrutes!!!
Estas seguro que te quieres casar????
Felicidades ;-)
Pasalo bien y no vayas con el notebook!, te apuesto a que lo pensaste!
hola compañeros me sirvio mucho tu ultimo aporte. Gracias un saludos desde lima-peru el pais de la cumbia.
Sres
Agradeceria que me puedan ayudar urgentemente, al inicio tuve un problema de acceso denegado para crear un objeto de tipo excel, luego añadi la cuenta con la que estoy trabajando al DCOM, le di todos los permisos (ojo q la cuenta no es administrador).
Despues de esto ejecuto la primera linea q muestro acontinuacion sin problemas,pero en la tercera linea mi aplicativo se cae, al querer abrir una hoja excel para trabajar. Sale error
1004 - No se puede abrir o guardar más documentos debido a que el espacio en disco o la memoria son insuficientes. • Para disponer de más memoria cierre los libros o programas que no necesite. • Para liberar espacio en el disco, elimine los archivos que no necesita del disco en el que desea guardar los documentos.
Set lobjExcel=CreateObject("Excel.Application")
lobjExcel.Application.Visible=True
Set lxlsWorkbook=lobjExcel.Workbooks.Add
Verifique si tenia objetos excel abierto en el task manager pero no encontre ninguno.ademas tengo suficiente espacio en disco.
¿que puedo hacer?
Felicidades! (o no... esto de las bodas va a gustos jejeje)
Hola sabes algo, creo que te falta mucho en programacion , por si no lo sabes a mas objetos crees tu aplicacion se hace mas lenta.
Para que utilizar un datatable, un datareader,un objeto connection, un objeto command, estas utilizando cuatro objetos para que solo muestres los datos de una tabla.Lo unico bueno que eh visto en tu programacion es que las conexiones los pongas en un bloque using. Pero no has utilizado un app config, y por si no lo sabes un mantenimiento a una tabla de puede hacer con solo tres objetos, dataadapter que abre y cierra la conexion, sin necesidad de abrir un objConex.open y cerrar.
Por si no lo sabes el DataAdapter realiza todo a traves de su propiedad SelectCommand(insertar,buscar,eliminar) no veo la necesidad de crear cuatro objetos. creo que te faltaa
no epueden enviar los mensages ni se pueden ver unos mensages
tengo dos mails (imagenes) por enviar y estan marcados como error, como soluciono este problema pues no me deja enviar
marcan error de envio dos mensajes (imagenes), como se soluciona este problema
El problema mio es reciente y se presenta cuando envio o reenvio mails con archivos pps. No salen y me aparece un mensaje de error que dice Error de servidor 5102 -Id.de error de Window Live Mail 0x8DE00006
Bueno tengo problemas de enviar mensaje a otra persona ni fotos puedo enviar esta como bloqueado espero que se me solucione lo mas pronto posible este inconveniente gracias
creo que tengo el mismo problema sin solucion aun ,
tengo dos aplicaciones distintas
bajo el mismo servidor
y necesito conpartir las variables de session
entre ellas.
he configurado el web.config
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
pero no puedo obtener la variable de session creada en aplicacion1 desde la aplicacion2
ejem .
aplicacion 1
session ("variable", 1) ' creo la variable
aplicacion 2
valor= session.item("var") ' capturo en aplicacion 2
pero viene el valor vacio.
ayuda pleasee..!!!!
no salen mis correos a mis destinatarios,
Hola buen dia, ESPERO ME COLABOREN, desde hace algun tiempo, no he podido enviar correos a mis contactos, cada que quiero hacerlo cuando le doy PARA Ò CC para que sea el correo discreto inmediatamente me lo rechaza, muestra por un segundo los contactos pero los rebota y no los deja ver para escoger contactos o enviar a todos los contactos, espero me den solución, gracias mecha5309@hotmail.com
Una Maravilla!!!
GRacias
no puedo enviar correos a cuentas con dominio hotmail.com
soporte de mi eempresa me dice que no tenemos problemas ..que el problema es en hotmail
el caso es que solo los recibo pero no puedo enviar ninguno a dominio hotmail o live
alguien me puede ayudar no conozco de terminos tecnicos
Que es esto??
estoy hace varios días tratando de enviar unos correos a un gmail y siempre me sale una notificación que dice delivery status notification (failure) quiero saber si el problema lo tiene el destinatario por que dice que no le llega ningún correo mio o es mi correo ( yo tengo hotmail ) pero los demás correos que envío llegan a sus destinatarios sin ningún inconveniente. por favor ayudenme por que necesito callarle la boca a ese idiota.
Les comento que hace dos semanas que ya no me funciona estos comandos, me parece que una de las actualizaciones de windows bloqueo esta opcion, no puedo actualizar mi showmodaldialog.
no puedo enviar mensages me sale algo de task y que existen errores. tambien se me desconecta el internet
por favor me urge a cada momento se me desconecta el internet, y eso es un gran problema para mi pues estoy buscando trabajo en casa por internet cuando logro entrar y digas busco cualquier tema recetas o lo que sea me sale en letras grandes que existe un severo error y no puedo hacer nada
no se que hacer pero no me deja recibir ni enviar mensages me sale error me envia a una pagina de internet o que lo intente mas tarde
Yo el problema que tenía es que cuando abro la ventana, leo datos y los muestro.
En la ventana esos datos modifican, se graban y se cierra.
Al volver a abrir la ventana no hacía el Page_Load y la abría tal y como la abrió la primera vez.
En la url, le he añadido un parámetro que siempre lleva un valor distinto y entonces si hace el Page_Load.
var hora = new Date().getTime();
window.showModalDialog("MiPagina.aspx?x=" + hora.toString().........
Ahora cada vez que abro la página hace el Page_Load.
Funciona en IE7, IE8 y Firefox, en IE6 no he probado.
no me salen los contactos cuando quiero renviar pps y no`me deja actualizar la pagina cuando lo hago se tranca a la mitad q hago no se ya aquien preguntarle grasias
no puedo abrir mis emails para leerlos ni puedo mandar emails tampco siempre me sale: advertencia de momento estamos teniendo dificultad para mostrar su windows live explorer.intente mas tarde
Desde ya gracias a todos por sus comentarios, he aplicado todo: desde copiar las .dll al bin hasta colocar el texto en <system.web>, no puedo hacer ningun cambio en el server porque no soy administrador (solo puedo subir el sitio), pero me sigue saliendo el mensaje del "'Sys' No definido", alguien me puede decir que me falta? Gracias
Me imagino que le habrán llovido comentarios negativos a ese código pero igual lo escribió alguien que esta dando sus primeros pasos y le servirá para aprender de los errores. Yo además, habría puesto la cadena de conección en el web.config
Tampoco le vendría mas utilizar using ...
PD:
¿ Para que tenemos el API de Memebership ?
que risa da la programacion, hay separar procesos de eventos, y consultas directas es un muy mal habito, por mi parte trabajo todo a travez de procedimientos, y las conexiones a la bases de datos la ocupo por servicios web con xml.
saludos !!!!
Excelente, pero podrias agregar la forma "mejor practica" de realizar esto, asi aprendemos todos saludos.
@manuel En cada punto he explicado el porque de cada cosa, es verdad que han faltado cosas como el uso de using para liberar recursos, no utilizar un SqlDataAdapter + DataTable cuando podría haber usado un Reader que es mucho más rápido...
necesito que me ayuden con mi correo,nose que le pasa,empezo desde ayer a dar problemas,habro mi messenger y muy bien,pero al habrir los mensajes,aparece una ventana pequeña y me pide que ponga mi contraseña para iniciar seción en windows live,y luego salen los mensajes pero no como antes,despues me pide el nombre del usuario y contraseña para el siguiente servidor,pero siempre que estoy aqui,se desconecta internet y tengo que estar cada dos por tres conectandolo,gracias.
Muy bueno :)
Intenté enviar un correo con dos fotos hace tres meses, me dan error y no puedo enviar ni recibir. El error que me da es 0x80070057. Alguein me dice como puedo eliminar esto y liberar la cuenta?. Gracias
hola no puedo enviar correos al intentarlo sale una franja amarilla k dice para continuar enviando mensajes puzzle(sentimos los inconvenientes pero nos ayuda a determinar remitentes de correos no deseados)confirma tu cuenta de correo electronoco.Me gustaria mucho k me pudieran ayudar
ola trate de bajar el ejemplito , pero al parecer descarga pero no se puede abrir o esta vacio .. tu crees que puedas enviarmelo a este correo anapatriciagueb@hotmail.com
Usa Anthem .NET., te ahorras un monton.
sourceforge.net/.../anthem-dot-net
mil gracias estuve buscando mucho tiempo una solucion, probe como mil y no me funcionaba
y por fin encontre esta pagina
y me funciono correctamente...
sin necesidad de escribir mucho codigo
d´´onde está el DataTierGenerator para la Enterprise Library ??? está roto el enlace.
alguna novedad sobre sus ideas sr. Ruiz ??
gracias
Nadie ha dado con el problema de :
He buscado y buscado información y nada...
Parece que muchos se rindieron y quienes lo lograron no lo publicaron :(
tengo problemas con el servidor cablmas para hacer pago en linea
Muy buenas,
Dado que veo que tienen conocimientos sobre estados de sesión, me gustaría comentarles una cosa, a ver si me pueden ayudar.
Tengo una aplicación web en C#, funciona todo bien, y ningun problema, excepto cuando el usuario quiere abrise la aplicación en dos pestañas del IE7/8, o inclusive dos internet explorer diferentes, ya que si hacen eso...la segunda session que inician machaca a la primera...y en conclusión, únicamente pueden trabajar con una ventana.
Tengo configurado de la siguiente manera la session:
sessionState mode="StateServer" timeout="30" stateConnectionString="tcpip=192.168.1.2:42424" stateNetworkTimeout="1"
con identity ->impersonate a true, por si tiene algo que ver...
no se.estoy desesperado...aver si me pueden ayudar...
GRACIAS!!!
Estimado: he leído en un foro de hace unos años atrás que recomendabas unos sitios desde donde bajar código en C# para imprimir un datagridview. Yo he bajado ese código y lo he convertido a vb.net pero no he podido incluirlo exitósamente en mi proyecto. También he intentado crear un nuevo proyecto he incluirlo allí como único código existente pero no he logrado que funcione. Te agradecería mucho si me podés guiar un poco para solucionar mi problema.
Cordialmente
Andrés
Buenas :)
Antes que nada, si me permites, una puntualización:
No necesitas [Serializable] si vas a serializar tu clase mediante Xml. El atributo [Serializable] aplica a la serialización binaria. ;-)
Ahora, sobre el tema del post... a mi el uso de [XmlInclude] no me ha convencido nunca (desde un punto de vista un poco metafísico). La razón es simple: traslada decisiones que deberían estar en las clases derivadas, a la clase base.
Imagina que yo cojo tu librería de vehículos y decido crear una nueva clase derivada de MedioTransporte, llamada Hovercraft.
En este momento cualquier código que esté en TU librería y que serializase objetos o colecciones MedioTransporte no podría ser usado con mi clase, puesto que el serializador se quejaría... ya que TU no metiste un [XmlInclude] en TU clase, para dar soporte a MI clase que obviamente ni sabías que existía.
Hay otros métodos, cierto, para evitar esto, pero requieren trabajo extra para tí y para mí, lo que muy elegante no es... Al menos en mi opinión.
Resumiendo, que XmlInclude es una buena solución sólo cuando tienes a mano el código fuente de la clase base, lo que no ocurre siempre (ok reconozco que muchas veces sí), e incluso si ocurriese, a mi no me termina de convencer el hecho de que debas modificar la clase base sólo por el hecho de añadir una clase derivada!
Muy bueno... efectivo y util. Gracias
Hey Luis great post !! y un dato, no hace falta que creemos una nueva configuración de compilación, podemos agregar varias directivas de compilación en las propiedades de proyecto, separadas por punto y coma :D
Hola Luis, excelente entrada :D, pero tengo una consulta, disculpa mi ignorancia, pero para que sirve la compilacion???
#if Algo
'hacer...
#endif
:S nuevamente disculpa mi ignorancia, pero no entiendo porque o en que beneficia al codigo fuente hacer eso?, que diferencia existen entre hacer todo esto y usar un [F5] :S
Espero puedas sacarme esas dudas, nuevamente gracias...
Buen aporte, Bruno en que parte exactamente se hace eso?? please!! :(
Como controlar si en el expression trata de hacer una division por cero.
ya se que ha pasado mucho tiempo, pero donde puedo descargar la grabacion del webCast de REST en WCF
Muy interesante la herramienta a la vez de útil. Gracias por el post lo he puedto en práctica y me ha servido bastante. Lo único que veo es que toca hacer un archivo de configuración por sección a cambiar, esto es un poco dispendioso. Pero una vez hecho nos permite ahorrar tienpoen el despliegue.
Hola Ricardo, se pueden utlizar para muchas cosas, en mi caso suelo utilizarlas para que en modo DEBUG me trace algo:
Trace.WriteLine(....
Mi compañero lo quería para una configuración específica que tenían.
Aquí:
www.secondnug.com/.../Default.aspx
señore,s cuál es la solución correcta, cuáles son esos métodos aunque requieran trabajo ??
sobre todo pensando en evolución d elas clases, que cambiarán con el tiempo... y que haya mínimo impacto para quien utilice las clases... que puede ser empresa externa etc..
gracias salu2
Me temo que la grabacion de ese webcast no esta disponible :( . agradeceria si lo pudieran subir :D
sale gracias
Gracias Luís, has salvado todas nuestras vidas ;). En serio, fue genial para lo que comentas, y para otras muchas cosas. Muy útil también en feature receivers, que lo sepas... ;)
Muy interesante tu post, lo estoy intetando hacer, el ejemplo del WebSite1.zip contiene solo un archivo que no tiene extension, podrias revisarlo porq parece que no esta completo.
Muchas Gracias.
Gracias Ups, ya lo he comunicado espero que en breve lo resuelvan.
Muy bueno, el articulo. respecto al comentario
"Hola sabes algo, creo que te falta mucho en programacion , por si no lo sabes a mas objetos crees tu aplicacion se hace mas lenta.
Por si no lo sabes el DataAdapter realiza todo a traves de su propiedad SelectCommand(insertar,buscar,eliminar) no veo la necesidad de crear cuatro objetos. creo que te faltaa"
yo pienso, que los comentarios deben ser constructivos, y respetuosos, con relacion a lo del dataAdapter debes saber que es un objeto de alto nivel dentro de ADO.net pero en su estructura interna usa un objeto connection para extablecer la comuniocacion, y luego usa un objeto command para ejecutar la consulta, si la consulta debuelve mas de un valor(campo) el coman usa el metodo reader que debuelve un objeto datareader que contiene el resultado de la consulta, este metodo load del datatable carga en una tabla el resultado de una consulta, un dataadapter con su metodo fill llena una tabla pero en un conjunto de datos. de hecho es el metodo que menos me gusta particularmente. hay que tener mas elementos de juicio antes de lanzar uno
Totalmente de acuerdo con los expuesto Luis.
Los comodines como cuando juegas a las cartas, solo deben ser usados en momentos excepcionales. :-)
@Luis
Tu problema ahí no es var sino como estás nombrando las cosas, algo que resumí hace unos días aquí:
devlicio.us/.../var-improves-readability.aspx
No estoy de acuerdo contigo Hadi :P, en el caso que expones estas hablando de una clase o tipo de dato de .NET como es un DataTable y la verdad es que no es un buen ejemplo, ahora y este caso:
var salary = GetEmployeeSalary(employee.ID);
¿De que tipo es salary?
No queda muy bien poner GetEmployeeSalaryDecimal(employee.ID) , no?
Y más allá mira este código:
var f = GetNumber();
var total = 100 * f / 6;
Console.WriteLine("Type: {0}, Value: {1}", total.GetType(), total);
Console.Read();
¿De que tipo es la variable total?
Depende de lo que devuelva GetNumber, no? Esto es legible para un desarrollador?
El ejemplo que he puesto es el ejemplo que venía en el blog al que he hecho referencia.
Estas pensando demasiado en la implementación y no en lo que el código intenta expresar. Si miras en los comentarios de esepost, tanto yo como otros responden a las inquietudes que expresas.
Para los que somos nóveles, cual es la Conclusión??
Yo creo que el conjunto de tipo y nombre de la variable tienen que ser lo suficientemente descriptivos. Además saber el tipo de una variable te puede dar muchas pistas a la hora de interpretar el código. Así que estoy de acuerdo con los dos :P. Ciertamente el mal uso de var se esta extendiendo bastante.
Luis;
En términos de programación siempre van a existir abusos a los artefactos que provee un lenguaje de programación, y var no es la excepción.
Aunque en este caso, el ejemplo que tu pusiste es el que abusa de var, tal y como lo expone Hadi, con quien por cierto estoy completamente de acuerdo, nuestras funciones/métodos/variables deben de tener un nombre que explique que acción ejecutan y que datos son los que almacenan.
Afortunadamente el alcance de var es muy limitado, dentro del mismo método, por lo tanto si tus métodos no son muy extensos, no veo el problema de que sea difícil identificar que tipo de valor es que te tiene asignado var.
Cordial saludo, mi pregunta es como configuro multiidioma mi web si esta llama de una base de datos el contenido guardado y lo muestra en la pagina por id? aparte de esto que desde el index al yo por medio de un link ingles me la cambie toda a este idioma? y otro en español para que devuelva a su original idioma? bueno muchas gracias por su ayuda.
Estimado, yo tengo un problema similar me puedes ayudar; uso Ajas con asp .net. quiero q al presionar enter esta funcione como tab, que vaya al siguiente textbox; he probado con muchas opciones y no he podido solucionar. mis textbox tienes autopostback por lo que cunado le dor enter y si no hubo modificacion del textbox se pierde el enfoque.
Hola Jessy
Con variable de sesión no la probé, pero con una función que está dentro de una clase llamada ClassCLS y un procedimiento almacenado sí, de la siguiente manera:
En esta funcion le paso el parametro del Departamento al Proc. almacenado.
Public Function ListarProvincias(ByVal codigo As String) As DataTable
Conectar()
Dim cmd As New SqlCommand("paConProvincias", Cnn)
cmd.CommandType = CommandType.StoredProcedure
Dim param As New SqlParameter
param = New SqlParameter("@DptoId", SqlDbType.Int)
param.Direction = ParameterDirection.Input
param.Value = codigo
cmd.Parameters.Add(param)
Dim dadapt1 As SqlDataAdapter
dadapt1 = New SqlDataAdapter(cmd)
Dim dt As New DataTable
dadapt1.Fill(dt)
Return dt
Cnn.Dispose()
cmd.Dispose()
Luego en el Dropdowlist en el evento Changed lo sgte:
Protected Sub ddlDptomama_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlDptomama.SelectedIndexChanged
If Me.ddlProvinciamama.AutoPostBack = False Then
Dim provm As New ClassCLS
Dim dtpm As New DataTable
dtpm = provm.ListarProvincias(Me.ddlDptomama.SelectedValue)
Me.ddlProvinciamama.DataTextField = "des_completa"
Me.ddlProvinciamama.DataValueField = "ProvId"
Me.ddlProvinciamama.DataSource = dtpm
Me.ddlProvinciamama.DataBind()
Si algo no está claro, estamos a la orden.
hola lo k pasa es que quiero mandar mas de 10 correos al dia y me dicen que no se puede que tengo que esperar 24 horas y pues hay otros correos donde pueden enviar correos ilimitados necesito ayuda gracias
El post está muy bueno, y es muy completo, aunque sigo necesitando de cierta ayuda.
Me pasaron un requerimiento que consiste en hacer multi-idioma una aplicación desarrollada en c# en windows mobile.
El equipo es windows mobile 6.1
Espero vuestros comentarios
xergio1801@hotmail.com
Por que NO PUEDO INICIAR CESION
INICIO PERO LUEGO SE SALE Y OTRA VEZ AHI QUE INICIAR
Y ASI SUSESIVAMENTE POR FAVOR ME PODRIAS AYUDAR GRACIAS POR TU COMPRENSION Y HAMABILIDA
como hacerlo tambien en windows form en visual basic 2008 su ayuda por favor
Mooola que te acuerdes de mí, tron!
Existe por ahí la leyenda urbana de que utilizar gacutil.exe no es lo mismo que arrastrar y soltar DLLs en la carpeta windows\assembly, sino que gacutil.exe hace alguna cosa más... nadie sabe realmente si esto es cierto :-)
No estoy deacuerdo me duele que vean las cosas de esa manera ya que si el hombre se quedaba cuando invento el fuego no tendriamos todas las comodidades que tenemos en la actualidad pero bueno respeto su punto de vista.
Tambien necesito que me ayuden en un trabajo en la universidad necesito crear una pagina web con capas tengo que hacer un formulario en donde pondre unos link y me direccionen a las paginas web creadas por mi en visual studio 2008 este es mi primer ciclo donde me estan enseñando visual studio 2008 gracias de antemano
Buen post! este tipo de aplicaciones tiene buenos usos, todo dependen para que se utilizen, ningun tipo de aplicacion es menos funcional que otra porque todas tienen una funcion especifica
Sigue asi!
tecnico en enfermeria
A mi me mola mucho la forma de hacerlo, pero claro, yo no soy objetivo... me he peleado casi tanto como tú con las dichosas tablas de CRM ;-)
Ja Ja,
Que bueno!
ahhhhhhh el güifi
Tengo vinculado dos correos /hotmail y otro live.
En el que tengo problemas de recibir y embiar correos por el de hot.mail. Creo que tendré que dejar o suprimir uno de los dos y no puedo.
Conectar 2 WebParts (por ejemplo un buscador y grid) a través del interfaz de SharePoint es una
Por delante vaya que soy de los que usó Datasets...etc... ADO.Net en general ... obsoleto
según los nuevos dictámenes... y me gasté una fortuna en libros del tema... tirado a la basura...
Pero para mi, el tema de las capas es distinto...
De entrada, no creo ya en los Entity Frameworks, ni en LINQ... ni en NHibernate..
y mi próxima aplicación ( en 3 capas ) escribiré yo mismito las querys.... pero
tengo claro que no habrá ni una Query fuera de la capa de datos...
Que tiene de malo conseguir que una aplicación tenga la capa de datos aislada?
Nada de malo... al contrario... si hoy usas Sql y mañana cambias a MySql y pasado a Oracle..
solo debes modificar los programas de la capa de datos...y el resto de la aplicación, los formularios...etc... no hay que tocarlos
para nada...
Que tiene de malo crear una capa en la que decides si el NIF del cliente puede estar en blanco o no, si un pedido puede servirse en fechas pasadas..?
Nada de malo... al contrario... si tienes un solo programa que hace esa comprobacion y de todos
los formularios llamas a esa función, el día que decides cambiar de criterio no tienes que ir a "cienes" de programas
a mirar si se permite el NIF en blanco....
Que tiene de malo conseguir que tengas todo eso agrupado (negocio + datos) y luego puedas usar esos programas
desde un formulario... desde web ... desde una Palm....
Nada de malo... si reduces el código de esta nueva capa (de presentación) a lo imprescidible para leer / mostrar los
datos que te proporciona la capa de negocio... evitaras reescribir código...
Y finalmente... tienes un poco más de trabajo haciéndolo así que todo en un solo e inmanejable bloque...
pero las modificaciones/mejoras se simplifican
Está claro que depende de que aplicaciones (matemáticas o de cálculo) no tiene sentido hacerlo
por la posible falta de rendimiento de tantos "saltos"..
P.D Si... no hacer pruebas unitarias es un suicidio ... pudiéndo hacerlas...claro...
P.D2 Sobra decir, que lo que sería una p... sería que los lenguajes xxx desaparecieran ..
pero mientras los vayan actualizando ...
Saludos a todos
corregir error
ola sabes luis no puedo bajar el video de tu exposicion no se q puedo hacer please!!! te agradecere la ayuda y te felicito es un buen tema el q has tocado
Hola a mi me marca el siguiente error:
Error Object reference not set to an instance of an object.
Aun cuando ya tengo instalado Office en el Servidor. Yo se que no recomiendan la automatizacion de Office de lado del servidor pero en mi caso es una necesidad y no tenemos otra alternativa
<! - Web.Config Configuration File ->
</ system.web>
</ configuration>
Notas: La página de error actual que está viendo puede ser sustituida por una página de error personalizado mediante la modificación del "defaultRedirect" atributo de la etiqueta de la aplicación <customErrors> de configuración para señalar a una URL de la página de error personalizada.
Aquí lo tienes:
www.mslatam.com/.../default.aspx
Amigo he preparado un servidor nuevo donde estoy publicando asp.net con ajax... desde el visualstudio tooodo bien pero a la hora de publicar los modalpopupextender salen totalmente distorcionados descuadrados en la parte inferior de la pagina como puedo solucionar esto... q es lo q pueda ser
Me la tendré que comprar jejejeje =)
¡Saludos!
intento reenviar correos y me sale mensaje de que solo puedo enviar a 10 contactos maximo y antes no me pasaba ayuda porfa gracias
Buen trabajo, pero quisiera ordenar los objetos de una lista q esta enlazado con un DefaultListModel de igual manera, ascendente y descendente.
Salu2...
desde hace unos días tengo problemas al reenviar mensajes, sólo me deja seis dentro de las 24 horas, a diez personas a la vez
Hola bueno , yo tengo el codigo para mandar en correo en asp.net, pero el problema es que cuando hago las pruebas localmente funciona ok, pero cuando lo subo al servidor, especificamente el de one, and, one, me salta un error justo donde declaro:
mailmessage(),
porfavor, si alguien puede ayudarme, le agradeceria bastante.
Gracias me funciono el codigo, tenia ese problema desde un par de dias
hace cuatro dias que no puedo reenviar los correos, en ocasiones me dice que solo puedo enviar un maximo de 10 contactos que debo sacar algunos de la lista, o me dice que ya superé el numero de envio de correos en 24hr. no entiendo porque me pasa esto a mi, si mis demas contactos envian mensajes a 30 ó 40 personas y no hay problema, y pueden enviar todo el dia sin problema. por favor ayudame a solucionar este inconveniente, gracias
PORQUE CADA VEZ QUE REENVIO UN CORREO ME PIDE VALIDAR MI CUENTA? ME PUEDEN AYUDAR?
Una vez has descubierto este simpático requerimiento no documentado, ya se puede considerar que se te ha abierto el 'tercer ojo' de SharePoint :)
necesito que me ayuden con mi correo,nose que le pasa desde hace un tiempo. al habrir los mensajes,aparece una ventana pequeña y me pide que ponga mi contraseña para iniciar seción en windows live,y luego salen los mensajes pero no como antes,despues me pide el nombre del usuario y contraseña para el siguiente servidor,gracias.
Con los productos de MS uno nunca va ha terminar de hacer ningun programa, porque cuando estas terminando un proyecto con LINQ, resulta que es una mierda (y es cierto) y debiste hacerlo con Entity Framework, terminaste tu proyecto win WebForm y luego resulta que es mejor hacerlo MVC, que usaste UpdatePanel pero luego te das cuenta es el mismosimo demonio (mejor usa jQuery)... Que compraste VS2005 y antes que acabes de librarlo o tu primer proyecto ya salio Vs2008 y a los 5 meses VS2010, lo peor de tood es que ni se te ocurra abrir un proyecto en una version anterior que no te va a abrir.. esto es una mierda!! la inestabilidad y la improvisación de esta gente de MS nos mantiene RE-HACIENDO, MODIFICANDO, RE-CREANDO, RESETIENDO NUESTRO CEREBRO constantemente.
Neceistamos plataformas y frameworks serios como Java, como Symfony/PHP, como Django/Phyton, como RoR.
Ya tengo una semana con este problema y no encuentro ninguna solución y ya tengo mi windows con todas las actualizaciones.
No se me permite enviar mensajes a más de 10 contactos cada vez y a cada envío me pide confirmar mi cuenta de correo electrónico.
¿Hay algún modo de evitar esto?
Si me lo podéis aclarar os lo agradeceré. Félix
Excelente aporte. Se agradece.
hola...hice todo pero no me muestra el archivo de excel que creo....se crean procesos de excel.exe en el servidor, pero no me muestra el archivo! en la pc de desarrollo anda lo mas bien, pero en el server no! AYUDA!
no puedo renviar los correos me s ale error y le pongo no enviar error y se cierra ayudame porfisss
hola...necesito hacer un abm en c# con tres tablas...no tengo ni idea, si alguien me puede ayudar..muchas gracias
me aparese q no puedo resibir ni enviar mensajes en mi cuenta q p[uedo hasr
gracias por todos, e por mejor
quiero recibir y enviar mensajes en mi cuenta
Respuesta a Tuesday, June 03, 2008 4:11 PM by marco
Debes agregar lo siguiente <%@ OutputCache Location="None" %> en tu página con extensión .aspx, así puedes liberar la caché y cuando quieras regresar a la página anterior con el botón atras de tu navegador no t permitirá ingresar. Saludos.
Nice post, thanks for writing!
El NLB es otro mundo, escriban ustedes más posts sobre Balanceo y aplicaciones web.
Salu2grz
Luis estoy con preguntonCojonero, estaría bien que hicieras una serie de entradas explicando que sistema habéis utilizado para hacer el NBL y los problemas que os habéis encontrado para esto, tratamiento de los datos, etc.
Es un buen tema para dar caña ;-)
Saludos Luis.
NLB !!! q grandes recuerdos (jejeje)
suerte y a seguir con los posts que son muy buenas experiencias
Buenas!! :)
Solo puntualizar que esto es *una propuesta* que realiza MS, ahora se debe decidir si esta propuesta se acepta y se incorpora al core de jQuery, como plugin o no se acepta.
Hace algún tiempo escribí en mi blog una comparativa entre la propuesta de MS y PURE (otra herramienta de templating de cliente) en geeks.ms/.../mi-modesta-comparativa-entre-pure-y-jquery-tmpl.aspx
Desde entonces veo que han cambiado algunas cosillas, como el uso de {{= }} para el enlace de valores, en lugar del {%= %} que proponían antes y han añadido el soporte para enlaces en dos direcciones (que al menos que yo supiese no estaban en las primeras propuestas).
Mi opinión es que esta propuesta va por buen camino, y veremos en como termina :)
Un saludo!!!
Buena puntualización Eduard ;)
Luis ... vi el post, te estaba por comentar el workaround, pero veo que ya está en los foros !!!
genial ! y a seguir utilizando EntLib ^^
Muchas gracias.
10 puntos
Hace una semana, me da error al recibir el correo y no se puede ver, el error es del servidor : 4102
por favor traten de ver el problema, gracias.
José Maria.
Muchas gracias por tu aporte Luis Ruiz, yo andaba buscando como hacer lo del redireccionamiento de la página cuando la sesion expira, realize lo que indicas y todo funciona a la perfeccion.
Juraría que ese cifrado depende de la máquina donde lo cifres.... al promocionar ese config a otro servidor no va a ser capaz de descifrarlo.
Para este escenario tienes opciones para crear un KeyContainer y utilizar ese en las distintas máquinas.
de verdad te pasas
e estado buscando este tipo de informacion y los manulaes de asp. net
casi no hablan de esto, estube casi como 3 horas buscando en inter esta informacion ,ffff
y era tan simple; grasias de verdad les agradesco, lamento no contribuir con algo, por ke recien enpiezo. de = modo les agradesco.
De nada amigo!!! Para eso estamos ;)
Cuando voy a reenviar un mensaje a mis contactos, me sale que la cuenta está bloqueada. Que si no he violado ninguna restricción me ponga en contacto con el soporte técnico. Entonces doy click en soporte técnico pero no encuentro nada. Agradezco su valiosa colaboración.
Me parece muy interesante el ejemplo que nos brindas. Habrá alguna forma de implementar tu ejemplo pero con C# 2.0, ya que no tengo metodos de extensión aquí... ? No puedo desarrollar en 2008 debido a un requerimiento :(.
Hola señor, alguna novedad con .net 4.0 respecto a este tema ??
salu2grz
no puedo mandar mail- esta en mi bandeja de salida ¿que puedo hacer?
Hola me llamo luis y tengo que realizar un CRM basado en web, me podrian dar una idea de como programarlo.
yo pienso yavascript y jsp, pero desconozco la verdad de crm, apenas estoy comenzando a investigar de que se trata.
tengo 3 meses xfa denme una idea de como hacerlo grax
les dejo mi correo para cualquier informacion
grax!!!!!
metwo507@hotmail.com
Hola Luis Erbin:
Prueba Splendid CRM:
http://www.splendidcrm.com/
<p> muy buenos ejemplos</p>
<hr>
Excelente!!!!!!!!!!!! muchisimas gracias!!!!!!!!!!
por favor me puedes ayudar con este problema es que no puedo enviar ni recibir correos de antemano gracias y espero una pronta respuesta
slds
hola, desde hace dias al enviar un email, me envia a validar mi cuenta, cuando lo hago me aparece mensaje enviado pero no aparece en las carpetas de enviados sino en la de borrador, le doy enviar nuevamente y me repite el procedimiento de validar la cuenta, al final, no le llega el mensaje al destinatario
no pueso enviar correos hace mas de 2 semanas me dicen que es un problema con windows leve me parece esto cuando abro mi cuenta que dise asi:no pudu completar esta solicitud microsof se pondra en 0/030/01 y me dicen que se ban a poner en contacto com migo por cualquier problema,mande un mesaje y me dicen que el problema es windows live,pero no lo han areglado me pieden ayudar por favor.
gracias.
Bueno, esta es la contestación que me dan desde www.parador.es al decirles que Firefox informa de un certificado invalido en su web:
Estimado Sr. xxxxx:
en respuesta a su mail le comunicamos que para poder acceder a la página de paradores debe utlizar el navegador internet explorer.
Atentamente,
Tarjeta Amigos de Paradores
Apartado de Correos 62097
28080 Madrid
Tfno.: +34 902 54 57 57
Fax: +34 902 52 43 21
E-mail: amigos@parador.es<mailto:amigos@parador.es>
Paradores TV: www.paradores.tv/<http://www.paradores.tv/>
La parte positiva de la página de Caja Madrid es que tiene unos botones para hacer más grande y más pequeña la letra xD
Los servicios web de CajaMadrid son una castaña en comparacion con cualquier otro banco de España. Yo estoy atado a CM desde hace tiempo y la verdad es que es muy pero muy malo, además de caro e ineficaz, pero claro es solo una opinión y 5 años de envidia frente a otros bancos :D
¿Cómo habrán cubierto las condiciones de aceptación?.
¿Qué habrán mostrado en el sprint review?.
....
Esta claro que Caja Madrid no conoce el concepto de 'hecho es hecho' que se maneja en Scrum. Quizás usen el concepto de 'si está en el project malo será que alguien no lo haga' que manejan otras metodologías.
En fins... con Scrum esto no hubiese pasado (al menos no debería).
¡Un saludo!
Que cachondos los de paradores... eso se llama cerrar una incidencia rápidamente :)
El control del consumo de agua es muy importante hoy en dia no solo por el ahorro del agua si no por el ahorro economico..Detectamos cualquier tipo de Fuga de Agua en piscinas, viviendas, calefaccion, fugas ocultas...Los PRECIOS MAS ECONOMICOS DEL MERCADO con la tecnologia mas moderna.24Horas a Toda España: 913920202
@Rodrigo
Pues sí, con scrum no hubiese pasado (suponiendo que tuvieran bien definido que significa 'done', claro)
Pero es que... con ninguna metodología debería pasar esto. Aquí se ve no sólo que no se sigue metodología alguna sinó que tampoco se realiza el mínimo control de calidad...
Pero bueno, tal y como está el mundillo informático en este bendito país, no me extraña que veamos cosas de estas...
Un (caluroso) saludo!!!
Hola, yo tengo un pequeño detalle cuando le doy clic al boton para que me de el reporte en excel no hace nada ni me marca error :S que puedo hacer...
hola muy interesando este metodo, lo estoy usando en un gridview, pero necesito pasarle mas de un campo de esta forma
CommandArgument='<%# Bind("DEPVABRDEP", "CROSANHO", "CROSCORREL") %>'
pero me sale un error que no tiene el formato correcto, necesito estos tres campos puesto que es una llave compuesta por ellos...agradeceria la ayuda
pana en el Page_Load Pregunta por una variable de sesion
Ej:
void Page_Load(object sender, EventArgs e){
if (Session["User"] == null)
Response.Redirect("default.aspx");
repite ese codigo por cada pagina web
hola bueno el tema pero igual no me resulta =D. me sale el error de eval path y bind...
""Los métodos de enlace de datos como Eval(), XPath() y Bind() sólo se pueden utilizar en el contexto de un control de enlace de datos.""
dentro de un form puse 2 dropdownlist y al marcar 1 el otro automaticamente se adaptaba para x su id pero al momento de hacer la referencia a bind o eval genero el mensaje anterior alguna otra referencia. Cuando estan sin enlace de datos funcionan bien pero al momento de enlazarlo generan el error.
agradeceria alguna informacion
seria bueno poder solucionar mis problemas de correo electronico.
Muy interesante Luis,
Entiendo que todo esto que has investigado para ASP.NET lo podemos llevar casi al 100 % a SharePoint.
Efectivamente, de hecho he puesto ASP.NET por ponerlo de manera genérica, aunque yo lo he implementado sobre SharePoint 2007 con FBA.
¿y de manera gratuita Tractis nos asegura que la autenticación es la correcta?
No me fiaría mucho de este servicio para ponérselo a una empresa ;)
excelente post, muy educativo y util realmente :D
Soy Jose Luis Gordo, miembro del equipo de Tractis, y quería agradecerte la mención y el estupendo post.
Tenemos desarrollado varias librerías para php, rails, java (github.com/search) e integraciones completas como el plugin para wordpress (wordpress.org/.../tractis-identity-verifications) para facilitar la integración con nuestro servicio de validación de identidad (todos Open Source).
Quería añadir que no solo soportamos autenticación con DNIe, la lista completa de certificados soportados la podéis encontrar aquí (www.tractis.com/supported_certificates).
@Alberto Diaz Martin Que pasa, que por ser un servicio gratuito ya no es seguro? O es que todo lo de pago es seguro por naturaleza?
No me parece una buena reflexión por tu parte :p
;) no es un problema de gratis o no gratis, es que no me fíe ni de mi madre y menos cuando hablamos del DNIe y de mis certificados digitales.
Seguro que si conoces a la empresa y te transmite confianza será un buen servicio, pero ¿que garantías tengo de que se caiga el servicio? ¿puedo reclamar ante una caida del servicio y que mis usuarios no se puedan validar?
Seguro que están encantados de cobrarte si necesitas un SLA. ¿Les has preguntado? ;)
No, no les he preguntado pero si al final lo uso (que nos lo estamos planteando), no me importaría pagar por un SLA.
Existen otras plataformas y servicios, además de applets para realizar el login con el DNIe.
Para la firma se puede usar CAPICOM, pero sólo funcionará en IE.
La finalidad del artículo era mostrar esta plataforma, que es gratuita para que la gente haga pruebas, la decisión de que tecnología, plataforma o servicio queda en mano de cada uno :)
He estado trabajando unos cuantos años en un Ministerio (no voy a decir cual ;-P), en un proyecto de gran embergadura en .net, y algunas veces vergonzoso las poca protección de datos que se hacía. Había gente (propia del ministerio) que esgrimia la protección al máximo, pero como hacía que finalmente el usario tubiese que dar un click más se eliminaba cualquier proceso de protección para que fuese "más fluido". Y de las contraseñas no voy ha hablar... todo el mundo se sabía la contraseña de superadministrador, con lo que se podía acceder a los datos privados de los ciudadanos. Y claro, no la cambian no vaya a ser que "pete" algo. Hace tiempo que estoy fuera y te puedo asegurar que no la han cambiado. Ni la cambiarán. Porque uno es bueno que si no...
También a tí se te debería exigir que no escribieses con tantas faltas en una entrada con tan poco texto:
1. "...A parte, podrían haber utilizado un framework ..." -> "Aparte" va junto si quieres darle el significado que pretendes.
2. "...a los detalles de tú trámite..." -> "Tu" solo lleva tilde cuando es un pronombre, y tú (ahora sí, con tilde) lo utilizas como determinante, en cuyo caso no la lleva.
Con todos mis respetos:
- hablas de un caso sin especificar , de manera que dejas (o intentas dejar) mal a toda la Admin. Pública
- hablas de Ministerios que no existen (¿Administraciones Públicas?, eso desapareció...)
- hablas de un ¿organismo de control? Pero, ¿cómo pretendes que en un monstruo como la Administración haya un organismo dedicado a eso? Cada unidad informática se encarga de aplicar sus políticas de seguridad y control, por lo que no debes achacar o extender los errores de un organismo concreto a otros
- ¿conoces la LOPD? ¿y el Real decreto que la desarrolla? no detallas tu caso concreto, pero no todas las comunicaciones deben ir cifradas, sólo aquellas que cumplen unas determinadas condiciones...no digo que la que comentas no debiera ir cifrada, pero me parece que sueltas conclusiones muy a la ligera...
Es fácil atacar así a la Administración, tirando del tópico, no caigamos en eso.
Hola Jua Martinez:
Lo primero, gracias por corregir mi texto, prometo que a partir de ahora pasaré el Word antes o miraré la página de la RAE.
Por cierto, ¿Tu apellido no lleva acento?
touché! :-)
y disculpa el tono del primer comentario, ha quedado un poco feo y borde. Disculpas
Nada, nada
En este blog todo el mundo es libre de opinar al respecto y yo respeto toda opinión.
Pero de verdad en ningún momento quiero que el artículo se tome como un ataque a la administración pública en general, sino que quería exponer este caso concreto en el que he visto que no se han apoyado en alguien que les aconseje legalmente.
Mi pregunta ¿Hasta qué punto las Administraciones Públicas cumplen con la LOPD? Es simplemente saber sí las empresas que trabajan para administraciones o la propia administración hace uso de abogados o expertos en materia de seguridad, LOPD… dado que me encontrado ya algún que otro caso como este.
Cada área de desarrollo debería ser consciente de que es necesario aplicar estas medidas de seguridad que marca la LOPD. Y lo suyo es que poe encima de estas áreas, pero dentro del propio Organismo (Subdirección, Ministerio o lo que sea), existan equipos que verifiquen que, efectivamente, se cumplen las medidas necesarias.
Independientemente de que el desarrollo sea realizado por personal de la Administración o por personal externo, siempre existirá (debería) personal funcionario que revise el cumplimiento de estas medidas (y otras muchas obligaciones), más que nada porque lo suyo es que estén incluídas como claúsulas en el pliego o contrato que la empresa privada firma para adjudicarse el proyecto.
No cumplir la LOPD, tanto en empresa privada como en Administración, acarrea sanciones, y el afectado por esta situación está en su derecho de denunciarlo (y debería!!).
Lo que no me quedaba del todo claro era si el caso que exponías era un caso concreto de incumplimiento de LOPD o no...
ojo, eso no quita que seguro que habrá casos en los que deba cumplirse y no se hace. Seguro que sí.
Lo que pasa es que me parecía que el tono del artículo era "¡¡Si es que en la Admin son todos unos chapuzas!..." y por eso no me había gustado...
Un cordial saludo.
muchisimas gracias
Efectivamente Luis, hay otras plataformas de autenticación con el DNIe también gartuitas y pensadas para que la gente haga pruebas.
http://www.opendni.com
En este caso utilizamos como protocolo de acceso a la plataforma el protocolo OpenID.
buenas
lo que pasa es que llevo dias sin poder enviar correos, me sale un mensaje que enviado y nunca llega, me dicen que hay un problema pero que ya fue solucionado pero a mi correo no me deja hacer nada, voy abir un correo y se me sale de la pagina y regresa a iniciar seccion por favor necesito ayuda es muy urgente ya que tengo que enviar un correo urgente
espero una pronta respuesta
Gracias Miguel, lo echaré un vistazo ;)
gracias buenos dias, señores lo que pasa es que al tratar de reenviar los correos a mis contactos no me deja enviarlos y ya llevo varios dias intentandolo,y me sale es anuncio que dice que microsof se pondra en contacto conmigo acerca de los errores de los informes, gracias por su respuesta.
Hola ya he podido pero tengo un inconveniente, el documento se abre en el servidor de aplicaciones(Servidor web) y no en el ordenador desde donde lo ejecuto..que debo hacer???
El problema de redireccionar, preguntando la session esta nula, es que el usuario pierde todos sus datos,yo la verdad hago la session infinita usando javascript. y al final es el usuario quien decide abandonar la session.
Pues... no veas como la pase con el PADRE
www.consultorinternet.com/.../si-mi-ya-me-es-dificil-el-padre-de-la.html
Todo un ejemplo de buen hacer....
Gracias Luis, un artículo de utilidad.
Muchas gracias :)
Sabes, quiero abrir un libro de excel con parametros enviados desde una grilla.
Dim xlApp As Object 'Un Libro de Excel
Dim xlBook As Excel.Workbook ' Una hoja del libro
Dim xlSheet As Excel.Worksheet 'Inicializar Excel y obtener un objeto de Aplicacion
Dim ruta_excel As String
ruta_excel = Server.MapPath("/" & "plantilla_nomina_EAC.xlt")
xlApp = Nothing
xlApp = CreateObject("Excel.Application")
xlBook = Nothing
xlBook = xlApp.Workbooks.Open(ruta_excel)
xlSheet = xlBook.Worksheets(1)
xlApp.Visible = True
Cuando se ejecuta este codigo me arroja el siguiente error:
NO SE PUEDE MOSTRAR UN CUADRO DE DIALOG O FORMULARIO MODAL CUALDO LA APLICACION NO ESTA EN MODO INTERACTIVE. ESPECIFIQUE ESTILO SERVICENOTIFICACION O DEFAULT DESKTOPONLY PARA MOSTRAR UNA NOTIFICACION DE UNA APLICAICON DE SERVICIO.
QUE PODRA SER??
/*************************************/
/************************************/
La segunda opcion es escribir más y concatenar algo que no tiene sentido (mas operaciones en el motor de javacriipt)
Por fin encontre una manera de hacerlo, yo necesitaba poner º \u00BA dentro del valor de una variable de tipo string y no sabia como, gracias al autor de la pagina y a Alejandro Hanky, ya que con uno pude llegar a esta informacion y el otro me proporciono la tabla completa.
hola quisiera que me ayudaran... cuando me meto a mi mail todo esta perfecto.. pero cuando intento enviar uno me sale una franja amarilla que dice que actualize la ventana del explorador. y que Cuando obtenga acceso a mi cuenta de Windows Live Hotmail desde varios equipos, me piden que vuelva a iniciar sesión para ayudarme a mantener mi cuenta privada y segura. pero intento reiciar la sesion y no pasa nada! que hago porfavor ayudenme!!
bueno yo tengo un gridview y utilizo el template de este control y pues lo he editado para traerme la foto el nombre y el id enuna cosulta y pues lo trae normal pero tambien dentro de ese template tengo un button y kiero al hacer click en ese button kedarme con el valor de label que tiene el id ... para esto hago referencia para almacenarlo en una variable utilizando el findcontro y naa
este es el evento del button que esta dentro del template
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As EventArgs)
Me.MultiView1.ActiveViewIndex = 0
Me.pnlFecha.Visible = True
Dim x As String
Dim myControl1 As Control = FindControl("Label7")
If (Not myControl1 Is Nothing) Then
' Get control's parent.
Dim myControl2 As Control = myControl1.Parent
Response.Write("Parent of the text box is : " & myControl2.ID)
Response.Write("Control not found.....")
nunca sale pues alguna sugerencia puesto que el label7 que esta dentro del template tiene el id pues que quiero u saludo
hola!! lei le primer articulo y entendi claramente como pasar de un idioma a otro y para eso usas el nombre del archivo. ¿pero que pasa con los recusos globales? si le llama test.resx como le especifico que para ingles use ingles.resx y para español spanish.resx?
Bueno yo he realizado los pasos descrito pero mi aplicación me sigue mandando el mismo error al tratar de mostrar los datos en ecxel desde una máquina cliente (No se puede crear el componente ActiveX). Desde mi máquina si de desarrollo funciona perfectamente.
Ramón: Bueno yo he realizado los pasos descrito pero mi aplicación me sigue mandando el mismo error al tratar de mostrar los datos en Excel desde una máquina cliente (No se puede crear el componente ActiveX). Desde mi máquina de desarrollo funciona perfectamente. Alguien tiene otra solución o me falta algo por incluir en el servidor o en mi aplicación para que funcione, gracias de antemano.
no puedo, enviar correos o renviar correos dentro de hotmail aparese una franja amarilla dondé dice que tengo que enviar caracteres antes de enviar y no se q pasa pero no puedo mandar nada.
Buenas, hace un tiempo escribí un post con un ejemplo sobre como utilizar Moles para realizar pruebas
Cool !!!
ASP.NET incluye una funcionalidad par indicar que estamos realizando tareas de mantenimiento sobre nuestros
No puedo enviar correos, me deja leer fwd pero cuando le doy renviar o eliminar me sale una franja amarilla que dice actualize su explorador, le sugerimos que cuando habra su cuenta de mas de una computadora lo actualize por seguridad. y le doy actualizar y ni asi me deja enviar, me bloquea. Que es lo que esta pasando con mi cuenta y que debo hacer.
Continuamos con la serie de post relacionados con Moles . Ya vimos una introducción y stubs .
Luis, sólo quería comentarte que me parece interesantísimo todo lo que estás escribiendo últimamente sobre Moles.
¡Muchas gracias por compartirlo!
Jorge
Gracias a ti Jorge, comentarios como este y encima viendo de tí, hacen que escribir en un blog merezca la pena.
podría ser un error intencionado? :)
Podría... pero yo soy de los que piensa, que si el usuario no puede hacer nada con ello, mejor que deshabilitarlo no lo muestres XD
Claro, que seguro que les viene de perlas que la gente se queje de esto y encima se hagan publicidad gratuita XDDD
Cosas del CaraLibro :)
Frikada importante la que has llevado a cabo :D
A ver si se puede superar añadiendo el siguiente fragmento HTML a la página...
<input type="hidden" name="comments" value="Que os vayan dando" />
Gracias Marvin! Muy útil tu sugerencia:
"Debes agregar lo siguiente <%@ OutputCache Location="None" %> en tu página con extensión .aspx, así puedes liberar la caché y cuando quieras regresar a la página anterior con el botón atras de tu navegador no t permitirá ingresar."
¿Hidden? Si es hidden, ¿qué gracia tiene? ;-)
Excelente aportación. Aunque no me puedes ver me estoy marcando un baile rasulón delante del ordenador.
Está interesantísimo esto de Moles. Excelentes artículos.
Hola, y si lo que se quiere es que llegue un mensaje al usuario y otro distinto a tu cuenta?
Gracias Ronney, espero seguir escribiendo artículos relacionados con Moles ;)
Moles mola !!1escriba más, selo suplico !!! grz
Luis, a mi me ha ocurrido directamente lo mismo. Otra solución a este problema, es abrir únicamente el proyecto (fuera de la solución) donde quieres crear la nueva lista. En este caso, se mostrará el wizard donde, podrás seleccionar el tipo de contenido.
Hola Oscar, gracias por tu comentario por lo que parece lo han cerrado, seguro que lo incluyen en un SP:
connect.microsoft.com/.../there-are-no-content-types-in-the-project
He probado el código con un ASPxGridView y tampoco funciona dentro de la plantilla EditForm tengo mi control y sigue saliendo Null
Sabes que tengo el mismo problema, pero con outlook 2003 y VS2005(estoy atrasada lo se, pero mi empresa no entiende esa parte), y he mirado en el DCOMCNFG pero no existe nada aparte de algo para los datos adjuntos de Outlook y otro para el buscador de outlook.
En modo debug funciona sin problemas, pero al instalarlo(como servicio windows) me envia el error mencionado. Este error es tanto en la máquina cliente como en el servidor.
Help me please!!!!
oseas nana:
inche vieja, resignate ah tener el pelo asi de feo y horroroso siempreeeeeeeeee
Gracias excelente,
Buen articulo, pero caminando un poco mas en una aplicacion real uno encuentra algunas dificultades, por ejemplo, que ocurre si deseamos mapear a una entidad aquello que devuelva un SP, esa entidad no corresponde a ninguna tabla en la base de datos, segun estuve viendo aun es una deuda que tienen los creadores de EF, con nosotros.... y no es que sea un partidario de los SP, solo que se me presento un caso especial donde tenia que hacer a la obligada aquello que te menciono.
MMM KIEROO
Bien he leido los comentarios pero este ejercicio se puede hacer si se utiliza martepage ya que no uso iframe, me podrian contestar a mi email jluisaries@gmail.com y tambien ponganlo en el foro verdad. :-)
Pero se podria hacer sin iframe? yo estoy usando una martepage si pueden me responden a mi correo jluisaries@gmail.com y en el foro tambien...
Ojo con esto porque con versiones anteriores de Sharepoint el truquito permitía generar la plantilla pero los sitios que generábamos con esa plantilla daban 'bastantes' problemas.
Es cierto que en 2010 no lo he probado, pero por si acaso quería comentarlo.
Un saludo, Fran.
Gracias Fran por el aporte,
Ahora mismo estoy exportando la solución y abriendola con VS 2010 para ver como se generarn algunas cosillas y no me ha dado ningún problema ;)
En 2007 había una forma para activarla ... aparte de poner la URL
tusitio/.../savetmpl.aspx
En este artículo explica como hacerlo
waelmohamed.wordpress.com/.../enable-save-site-as-a-template-option-in-sharepoint-publishing-sites
No obstante tal como comenta Fran no es recomendado por Microsoft, por lo que algún problema dará:
support.microsoft.com/.../2492356
El tema es que quizás tengo que especificar bien el título y la finalidad de lo que iba a hacer para no confundir a la gente y mi finalidad es tomar ideas de como hace las cosas interamente Sharepoint 2010 a través de la funcionalidad de poder abrir un WSP con Visual Studio 2010, para añadie estas ideas a mi Site Definition, que es como se debe desplegar una solución de SharePoint :)
El problema es que como la feature de publishing estaba activa, no podía exportar el sitio como plantilla para poder abrirlo con Visual Studio.
Un saludo y gracias por los aportes :)
PD: La próxima ver lo especificaré mejor ;)
Primero creo los objetos
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Ecel.Worksheet
Me sale esto cuando hago la asignacion de memoria
xlWorkBook = New Excel.Application().Workbooks.Add(Missing.Value)
{System.UnauthorizedAccessException} System.Exception
Ya hice lo q pones arriba y nada... revise el web.config y esta en mode Windows... alguna ayuda sera agradecida :D
Sres, he leido la mayoria de los comentarios, he realizado todo lo que dicen, pero el problema esta en que cuando la pagina.aspx no se encuentra en el mismo directorio que la carpeta bin, muestra el error sys no definido, por ejemplo, sitio/bin, sitio/otrodir/pagina.aspx
En este caso da el error, aclaro que el server no puedo modificar porque es administrado por terceros. En la pc de desarroolo funciona bien.
Hola Enrique,
pero puedes mapear el resultado a un nuevo tipo complejo, no? Esto no te sirve?
No puedo abrir bandeja de correo,nunca me pasó
NO PUEDO ABRIR CORREO,NUNCA ME PASÓ.
asdfasdfas
Me ha gustado la charla y me ha dejado muy impresionado la potencia de moles. Ya podemos decir que en las pruebas unitarias se puede probar absolutamente todo, increíble.
Una sola crítica. No soy experto en pruebas unitarias (estoy empezando) y habría agradecido una explicación más profunda de las diferencias entre los "stubs" y los "moqs".
loz kiero zon loz mejorez amigoz qke nunka kambiaria x nadha loz kiero zigan ziendho igual nunka kambien
Hola Richi,
Lo primero es darte las gracias por darme el feedback porque así podré tomar nota y mejorar para la próxima vez.
Lo que voy a hacer es escribir un post un poco más extenso centrando en la diferencia y mostrarlo con ejemplos.
Un saludo y muchas gracias.
Bueno… Vaya título me ha salido, eh? :P A ver, realmente este post es para evitar que alguien
Solo para completar tu artículo, debo comentar que el plugin funciona tanto para MVC como WebForms. Creo que debes de quitar el texto [ASP.NET MVC3] del título de tu artículo.
También debo añadir que el plugin no parece funcionar bien en Google Chrome.
Hola Juan,
A mí me funciona en todos los navegadores que he probado, IE, FireFox y Chrome
Muy bien, gracias.
De nada Icaro ;)
Interesante artículo, aporto un par de enlaces que pueden ser útiles: Problema del "infinite scroll" de Twitter - http://goo.gl/T14MB y algunos consejos para solventarlo - http://goo.gl/OfuAy.
William
bravo, bravísimo !!!
Luis, en su momento me pegué un poco con el tema de las managed metadata, tengo un par de post donde explico alguna experiencia.
jordiruiznet.blogspot.com/.../add-managed-metadata-programmatically-i.html
jordiruiznet.blogspot.com/.../add-managed-metadata-programmatically.html
Si necesitas código lo comentamos.
HOla, en principio, sería muy amplio,
yo propongo algunas,
ASP.NET 4.0
ASP.NET MVC 3.0 Avanzado
JQuery - Avanzado
JQuery - Introducción
OpenRasta - Rest
LightSwitch
Y generales para construir parte Negocio y acceso a datos de un sitio web:
Integración Contínua
Async programming
Behavior Driven Development con MSpec - Parte 2
Cloud Computing (Azure)
DLR
Principios SOLID , Patrones de Diseño , Implementation Patterns en C#
CQRS - EDA
Colas MSQueue
Entity Framework
MEF - MAF
PEX, Moles, CodeContracts y Pruebas Unitarias tradicionales.
Reactive Extensions
SQL Azure
API .NET de Google: Google Docs, Spreedsheet, Calendar...
Microsoft Sync Framework
Depuración avanzada, diagnóstico: Performance Counters, Memory Dump
programáticamente, WinDbg , RedGate's Memory profiler.
Despliegues avanzados de sitios web en Granjas con MSBuild, WebDeploy, ...
Añadiría también: WCF RIA Services - Silverlight - PowerPivot
Amigo, mira la respuesta a esto es muy sensilla, usa Session.Abandon(), como hacer para que te devuelva la pagina de login?, create una pagina UserControl del tipo .ascx (es como crear un aspx nuevo con el asistente ps) en el load de ese control te preguntas si alguna variavle de session es nula por ejemplo:
como lo sugiere el compañero Daniel, pero en este caso rediriges al login:
Response.Redirect("Login.aspx");
Por ultimo debes agregar esta paggina que creasste a todas las paginas del proyecto que requieran autenticacion, simplemente halas desde el explorador de soluciones hasta la vista de diseño de la pagina deseada en un lugar que hallas designado para este uso.
el UserControl se ejecuta siempre antes del load de una pagina de tal manera que tendremos una autentcacion 100% segura, recuerda que en el UserControl puedes tambien poner elemntos aspx como un menu por ejemplo, ya uega con tu creatividad. ;D
cualuier duda cris_galle@hotmail.com
Thank you! Gracias
Allí estaremos! :-)
genial! enhorabuena y mucha suerte. Con Eduard el evento será un éxito asegurado :)
Buenas!
¿Es posible que el link hacia los materiales esté mal, o son cosas mías?
Saludos & gracias!
Yo tampoco los veo! ;-)
Alguna URL se ha traspapelado por ahí, jejejee... ;-)
El anuncio de la página me levanta una advertencia de seguridad en IE9 (Creo que no es https) y por eso no se puede descargar.
Lo arreglo ahora mismo!
Me sumo al pedido de kiquenet, en especial con lo de Entity Framework, jquery y MVC 3 :)
esto me sirvio de mucho, gracias...
Hola Luis, te comento mi caso. He configurado un Windows Server 2003 para requerir certificados del dnie y todo va perfecto, con mapeo incluido. Ahora quiero configurarlo en un WS2008 y solo me acepta un certificado de prueba que cree con makecert. He revisado que los certificados Raiz y Subordinados esten en sus respectivos almacenes .. y no encuentro donde esta el problema. En principio no deberia variar mucho de WS2003 a WS2008. Alguna sugerencia?
Un saludo, y gracias.
No puedo enviar correos, me manda una ventana amarilla donde dice windows live no puede completar esta solicitud, microsoft se pondra en contacto contigo sobre los errores que le informes. alguien me podira ayudar, por favor.
Cuanto tiempo voy a estar sin poder reenviar mis mails? Necesito una pronta respuesta,ya que todos los comentarios de arriba no tienen ninguna respuesta. Gracias.
Genial, te pasaste amigo muchas gracias
no puedo enviar correos pues cuando lo hago me sale una franja amarilla diciendo que antes debo enviar unos caracteres
Ya se que puede parecer un poco cansino y repetitivo este tipo de post. ¿Quién no sabe
muy buen aporte. Recien estoy entrando al .net, como podria utilizar esta funcionalidad utilizando net.vb
Gracias por el TIP, funciona de maravilla, desde Honduras.
Muy útil, sencillo y muy bien explicado. ¡Muchas gracias!.
Gracias! esta muy bien explicado, y de gran utilidad
Me he puesto con Moles y he hecho el ejemplo que has puesto. En primer lugar comentar un detalle importante: has modificado el código habitual de un "Web Form". El método "Page_Load" suele ser "protected" y lo has cambiado a "public" para poder usarlo desde las pruebas. Supongo que con el control de tipo "TextBox" (txtName) habrás hecho algo parecido.
Lo más razonable usando Moles es no refactorizar. En este caso habría que crear una clase en las pruebas que herede de "CustomerInfo" y realice un "new" sobre el método "Page_Load" y sobre la propiedad "txtName".
Lamentablemente, después de estar probando Moles en general en este ejemplo me salta la siguiente excepción:
"System.Web.HttpException : Session state can only be used when enableSessionState is set to true".
Agradecería que facilitaras el código completo del ejemplo.
Ya he encontrado el fallo. El problema está en crear la instancia del objeto "CustomerInfo" antes de las instrucciones específicas de "Moles":
- Genera error:
CustomerInfo customer = new CustomerInfo();
MPage.Constructor = page =>
// ...
- Código correcto:
Sin duda hace falta incluir todo el código.
Como reseña, en mi caso he utilizado "NUnit".
La potencia de "Moles" es fantástica. El único problema que le veo es la poca claridad que ofrecen sus delegados. Se echa en falta documentación al respecto.
También se ha modificado el permiso de acceso para el control "txtName". En lugar de "protected" es "public". La modificación se realiza en el fichero "CustomerInfo.aspx.designer.cs". Es necesario que sea "public" para crear una nueva instancia del objeto desde el método de pruebas:
customer.txtName = new TextBox();
Buenas tardes, intento abrir el correo electrónico y cuando pongo la contraseña y le doy a iniciar sesión me sale el error que a todos. No entiendo mucho de esto y he entendido poco de lo que han dicho, uso mozilla firefox, que puedo hacer? Muchas gracias.
Después de publicar algunos artículos y tener que enlazar muchos datos en mis ejemplos
He revisado la pàgina de coeurlumiere i algunos caracteres no se escrivian correctamente. Sugiero abrir Excel o Word y ver insertar/símbolos, esos códigos sí que se han escrito correctamente.
Estuvimos programando juntos en Toledo-Soft, Juan Carlos de Gerindote, seguro que te acuerdas de mi. He visto tu foto y he dicho coño el de Cebolla, que currete está con la corbata.
Te voy a hacer una pregunta. Ya pensando en la Web 2.0, y los cambios normalizados 3wc que se va a introducir en HTML5, que van a modificar radicalmente la web y obligará a reescribir muchos framework y a otros condenarles a desaparecer.
Por que técnología debo apostar, a parte de .Net, que ya la estoy utilizando. O es mejor esperar un par de años a que esto se redefina un poquito mas. Tengo la sensación de que las grandes empresas, nuevamente van a apostar por programas compilados en C, trabajar online el
browser y el servidor va a requerir programas muy rápidos y no script interpretados.
A ti que te parece.
Gracias Luís y me alegro de que te vaya bien.
Según mi opinión (que nadie me ha pedido) las empresas van a ser reticentes a cambiar a navegadores que soporten HTML5. Muchas gordas todavía tienen el Windows XP con IE6.
Yo de momento, y hasta que se aclare un poco más el tema seguiré con Silverlight para las RIA. Creo que las cotas de productividad que se alcanzan con Silverlight son difícilmente superables.
Joe Juan Carlos cuanto tiempo!!! Que buenos recuerdos!! Como para no acordarme!!!
Hombre, yo creo que apostar por tecnología Microsoft es una apuesta segura, teniendo una buena base de NET y luego extenderla a hacia tecnologías como ASP.MVC, WPF, Silverlight, WCF, EF... o hacía productos como SharePoint, Windows Phone...
Creo que también es bueno conocer JavaScript, está pegando muy fuerte el uso en aplicaciones RIA en cliente, ya sea con JQuery, Node.js, Backbone, Knockout...
PD: Mandame tu correo :)
That sounds very interesting, thank you for sharing!
I just passed!
Demasiado bueno el articulo no sabía que era exactamente hasta que leí esto :D muchisimas gracias jaja y lo mejor que me ayudo en el trabajo :)
Siguiendo con la serie de novedades que Scott Guthrie está publicando sobre ASP.NET vNext , esta vez
Menudo notición viendo el nuevo video de ASP.NET vNext!!! El otro día comentaba en este post que a ver
Muy intersante Luis, la verdad es que es cierto que IDependencyResolver no se lleva muy bien con Windsor, pero, sin ser un experto en Windsor, creo que es por un detalle de implementación en su caso.
Si tu diseñas la clase para que sea Disposable y la disposeas explicitamente no veo el problema.
Es más, con Unity necesitas hacer una implementación explicita similar por que el TearDown no hace absolutamente nada por defecto. Unity no sabe nada de que instancias crea, por eso si creas instancias diposables tienes que liberarlas explicitamente o crear una 'container extension'.
De todos modos es cierto, IDependencyResolver no sirve en todos los casos... :(
Por cierto en el ejemplo de Hadlow el ejemplo tiene un error en sí mismo.
Su controller no implementa IDisposable si lo implementase MVC se encargaría de disposear el controller, eso está claro.
El error es que su controller agrega un instancia disposeable y sin embargo no es disposeable. Si tu agregegas una clase disposeable la clase contenedora debe implmenentar IDesposable.
Es algo que FxCop te apunta.
Por eso, si usas IDependencyResolver e implmentas bien IDisposable no hay problema ninguno con IDependencyResolve... salvo que yo me haya perdido algo... que puede ser :)
Hola, Luis.
Interesante tema, pardiez :-)
No conozco en absoluto Windsor, por lo que no sé cómo controla el ciclo de vida de los objetos, pero con Unity es posible liberar los recursos de forma automática (o sea, llamar al Dispose() de los objetos gestionados por el contenedor). Por tanto, no sería necesario ningún "Release()" en el DependencyResolver, como se propone en el post citado.
De hecho, se consigue muy fácilmente usando el componente Unity.Mvc3 (disponible en Nuget). Se trata de un pequeño componente que asocia a la petición actual un contenedor en el que va guardando instancias que debe liberar al finalizar el proceso de la misma, momento en el que llama a sus respectivos Dispose().
Así, por ejemplo, si a un controlador se le inyecta una instancia de IMiServicio usando un contenedor Unity para resolver la dependencia, una vez procesada la petición ocurre lo siguiente:
- En primer lugar, la propia factoría de controladores (o al menos la implementación por defecto DefaultFactoryController) es la encargada de invocar al método Dispose() del controlador. De hecho, la propia clase base Controller implementa IDisposable(), por lo que otra posibilidad es simplemente sobreescribir el método Dispose(bool) en nuestro controlador.
Por tanto, coincidiendo con Rodrigo, el primer problema que tiene Hadlow es que, según la implementación de su controlador, no está usando recursos que desee liberar.
- En segundo lugar, si el tipo concreto de IMiServicio (por ejemplo la clase MiServicio) implementa IDisposable y lo hemos registrado apropiadamente, al finalizar la petición se llamará a su método Dispose(). Es Unity.Mvc3 el que se encarga de realizar esta llamada de forma automática.
El registro del tipo en la inicialización del contenedor para que esto ocurra debe ser como la siguiente, utilizando el gestor HierarchicalLifetimeManager:
container.RegisterType<IMiServicio, Servicio>(new HierarchicalLifetimeManager());
Todo esto viene muy bien explicado en este post: devtrends.co.uk/.../introducing-the-unity.mvc3-nuget-package-to-reconcile-mvc3-unity-and-idisposable, y se implementa en un periquete.
En definitiva, su propio nombre lo indica: DependencyResolver. Sólo sirve para resolver dependencias, no para gestionar el ciclo de vida de los objetos. De esto, imho, debería ocuparse el contenedor correspondiente.
Un saludo & gracias por hacernos reflexionar! :-)
Sólo felicitar desde aquí a José María, porque la verdad dio un webcast para quitarse el sombrero!
Y estaba claro que el webcast interesaba a alguna fuerza divina porque el livemeeting no se cortó en ningún momento! :D
:-DDD Gracias, Eduard!
Lástima que también alguna fuerza divina estuviera interesada en que el vídeo no quedara para la posteridad. :-D
En fin, vamos a esperar un poco, igual es que el contenido era tan denso que está costando codificarlo ;-D
Estoy totalmente de acuerdo con Eduard!!!
Crucemos los dedos y a esperar a que Live Meeting oiga nuestra plegarias, sino Jose te tocará repetirlo ;)
Bueno, pues parece que me libro de repetirlo ;-)
Accediendo a través del enlace de registro original ya se puede acceder a la grabación:
msevents.microsoft.com/.../EventDetail.aspx
Acabo de acceder a ella sin problema.
Bien!!!!!
Me gustaría que constara también aquí mi enhorabuena a José María por el su presentación. Clara, precisa y directa. Altamente recomendable!
Gracias, Hugo!
Continuando con la serie de posts sobre la intercepción de llamadas a métodos (Aquí
Muy interesante Luis, más post de AOP-PostSharp serán bien recibidos sin duda. Saludos
Gracias kiquenet,
Voy a cerrar esta serie con un interceptor de Castle windsor para ver otro ejemplo que no sea con Unity y algo se hará ;)
Muchas gracias por tu comment ;)
Tengo una pregunta.¿No es esto identico a poner un atributo que ya tiene el framework para la autorizacion en metodos y clases con roles?
[PrincipalPermission(SecurityAction.Demand, Role = "Administrators")] protected void AccionSoloAdmins(parametros) {... }
Me refiero a que la intercepcion con programacion orientada a aspectos es molon para las caracteristicas transversales de una aplicacion, pero justo para esto pienso que, o me estoy perdiendo algo que no comprendo o no es necesaria la AOP (a no ser que ademas de lanzar una excepcion se necesite mas codigo para hacer otras cosas).
Hola Crowley,
Quizás no he estado muy acertado con el ejemplo pero no quería complicarlo mucho y a lo mejor tendría que haber puesto un código de validación de seguridad distinto, pero...
¿Con [PrincipalPermission(SecurityAction.Demand, Role = "Administrators")] como metes una validación más compleja?
Con PostSharp puedes hacerlo, puedes meter el código que quieras a la entrada y salida del método :) esto aplica también para log, trazas, auditar código...
No se si me he explicado bien :)
Luis Ruiz, sorry pero yo estoy con Crowley. Hablar de validación compleja y algo declarativo como los atributos es dificil, sobre todo porque esto te ha quitado toda la flexbilidad del mundo en cuanto a cambio. Después de haber leido la serie de post que habéis puesto sinceramente creo que se está enrollando un poco el tema. A mi me gusta se simplista y se están mezclando varias cosas, una es la autenticación, para la cual tienes mecanismos para delegarla en terceros, otra la authorización para los cuales algo declarativo es poco flexible y generalmente con un nivel de granularidad muy alto, por no decir que invalida o hace imposible tomar distintos caminos en función de las atribuciones de una identidad.
Hola Unai,
Y no te quito la razón, por eso digo que esta manera a mí personalmente no me gusta mucho y por eso me gusta más aa proximación con Interceptores.
Entiendo que con lo delegar en terceros te refieres a WIF, no? Habra casos donde WIF sea genial. nosotros en SharePoint lo hemos utilizado, pero habrá casos donde no entre y a lo mejor estas soluciones caben mejor, no?
Os agradezco los comentarios porque así se enriqueze uno ;) pero la idea de la serie en general es ver un poco de todo y las posibilidades que tenemos.
Un saludo y gracias.
Además entiendo que por cada cosa se paga un precio, con Interceptores de IoC tendremos que pagar un coste de performance (Que en unos casos será asumible en otros no), con AOP, en este caso PostSharp nuestro código IL será modificado... pero vamos decía es mostrar que hay distintas maneras de hacer las cosas y luego que cada uno elija la que mas le convenga :)
Continuando y para cerrar ya la serie de posts sobre la intercepción de llamadas a métodos
OK Luis. Entonces es que no me estoy perdiendo nada y simplemente ha sido mala suerte escoger justo este ejemplo.
Te has explicado muy bien y creo que al final estamos todos de acuerdo con que esta solucion no es la mas adecuada para una autorizacion basada en roles.
Hola tocayo! :)
Uhm... en el primer bloque de código me parece que te has 'comido' la primera línea de código, que debe ser algo parecido a esto:
public class SecurityInterceptor:IInterceptor
El resto, en la línea: Un pedazo de post. Muy bueno! :-)
AutoMapper va genial! En el post indicas uno de sus múltiples usos, el paso de objetos de datos a sistemas externos... otro uso que le podemos dar es para crear los ViewModels a partir de entidades del dominio en aplicaciones ASP.NET MVC3.
En este sentido me sorprendió bastante que no se pudiera hacer el mapeo inverso, es decir, pasar de ViewModel a entidades del dominio (tenéis la justificación de Jimmy Bogart aquí: lostechies.com/.../the-case-for-two-way-mapping-in-automapper)...
¿Necesitáis hacer el mapping ViewModel -> entidad del dominio? ¿Cómo lo hacéis? ¿"a manija"?
Buen post para introducir el flattering y a Automapper!
Salute!
Yo creo que esto lo puedes hacer mejor con un layer diagram y la validación de arquitectura que trae el visual studio 2010.
msdn.microsoft.com/.../ff657807.aspx
geeks.ms/.../vsts2010-validando-relaciones-entre-capas-con-el-nuevo-layer-diagram.aspx
Hola Cristhian,
Gracias por tu comentario :)
¿Y si la versión que tienes de VS 2010 no es la Visual Studio 2010 Ultimate? ¿Como controlas en ese diagrama ciertas dependencias como System.Web?
Hola. Hay una cosa que no pillo. El método "GetCategories" devuelve las categorías ordenado por "ID" ... ¿cómo puede funcionar también la ordenación por "Name"?. Gracias por adelantado.
ya ah pasado mucho tiempo desde este post, pero espero puedan ayudarme... he corrido mi aplicacion y anteriormente me corrio sin problema, envio variables a una pag web de una institucion y al parecer las recibia bien pero en este tiempo sin hacerle cambios mayores y quetandoselos, ya me proboca el mismo error al redireccionar a la externa, ya active para ver que error es y me sale el sig:
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
espero puedan ayudarme, gracias
Con EntLib Data también pasaba algo similar, problemas con la GAC. Saludos.
Hola Luis:
No utilizo sharepoint y por ende tampoco este método, pero lo cierto es que de un simple ToString con formato a la super-función que has puesto... no sé... o hay truco o yo veo que está muy claro que gana tu ToString.
Luis, yo sin duda prefiero ToString("yyyy-MM-ddTHH:mm:ssZ"), más corto y más claro.
Habría que hacer pruebas de rendimiento de ambas formas, para asegurarse, pero sin duda creo que mejor ToString("yyyy-MM-ddTHH:mm:ssZ").
Si ejecutas "Get(id)" estás realizando una petición innecesaria a la base de datos. Probaría a cargar el objeto mediante el método "Load(id)".
Hola Soren,
Muchas gracia Soren por tu comentario :)
Estoy usando second level caché, es decir, en el primer Get va a base de datos y en el segundo tira de caché ;) Puedes hacer la prueba con NHibernate Profiler http://nhprof.com/Download ;)
Un saludo y gracias por comentar.
Un último apunte. Creo que merece mucho la pena utilizar Spring.NET con NHibernate. Spring.NET te gestiona automáticamente las transacciones y te evitas el engorro de hacerlo a través de NHibernate.
Gracias por el apunto Soren, no he trabajado nunca con Spring.NET así que le echaré un ojo.
¿Alguna recomendación, libro, doc... para empezar?
No he usado nunca sprint (gracias a Dios :-)), pero con Castle tienes la opción de usar Automatic Transaction Management Facility (stw.castleproject.org/.../Windsor.ATM-Facility.ashx).
De todas formas, personalmente prefiero una manejo de la transacción más explícito.
Muchas gracias por el aporte Juanma, lo echaré un vistazo también ;)
Lo vais a grabar ?
Voto porque seria muy util y se agradeceria mucho que lo graben, claro esta si es posible.
Gracias JuanLuis!! Tu opción fue la que me funciono de 10!!
Muy interesante la aportación. Mola mola mola
Muchas gracias Santi!!!
Este fin de semana saco un ratito y publico los otros plugins :)
un Saludo
La verdad es que no puedo recomendar ningún libro de Spring.Net. En mi caso aprendí directamente de la documentación y con los ejemplos que ofrecen.
Desde mi punto de vista las grandes ventajas de Spring.Net frente a los clásicos contenedores para la inyección de dependencias son:
1. Sencillez a la hora de gestionar las transacciones.
[Transaction(ReadOnly = false)]
public void UpdateCustomers(...)
...
El atributo "[Transaction]" ofrece varias propiedades para personalizar la transacción, por ejemplo: Isolation.
También se agradece lo bien que gestiona el anidamiento de transacciones, por ejemplo en el típico caso de servicio de aplicación que utiliza diversos servicios de dominio.
2. Durante las pruebas de integración Spring.Net gestiona los "rollbacks" y te despreocupas de este tema.
Mi recomendación para empezar con Spring.Net es descargar el fichero completo con todos los ejemplos y la documentación:
www.springsource.org/.../community
El mejor ejemplo si utilizas NHibernate es el proyecto "Spring.Data.NHibernate.Northwind". Muestra perfectamente cómo integrar NHibernate y Spring.Net en una aplicación de N-Capas y perfectamente descoplado, con las correspondientes pruebas unitarias y de integración.
Perdón, error en el enlace para Spring.Net, este es el correcto:
Luis, no se ha podido grabar, una pena :'( saludos Habrá material de descarga ??
Las gracias a ti, por la magnifica charla que impartiste.
Muchas gracias por hacerte tantos Km en tan poco tiempo para venir a contarnos cosas a estas tierras lejanas. Fué genial, tanto en la forma como en el contenido.
Luis, no se ha podido grabar el evento, una pena :'( saludos. Habrá material de descarga ??
Muy buena información. Estoy usando jQuery.Metro desde tu otro artículo y... es muy bueno.
Supongo que esto os gustará entonces. Un jquery extension para hacer las famosas baldosas.
www.drewgreenwell.com/.../metrojs
@Santi Muchisímas gracias, se agradecen este tipo de comentarios y sobre todo saber que es útil la información.
@Carlos Muy buen enlace, me lo apunto. Gracias
Luis, acuerdate tambien de decirle al .hignore que si que suba nuget.exe, generalmente los .exe están ignorados pero en este casi lo necesitas para en la compilación hacer la descarga para quien no tenga los paquetes.
unai
Buen apunte Unai!!!
Un saludo y muchas gracias por comentar ;)
Buen apunte. Me lo guardo porque precisamente el otro día estábamos hablando de lo "feo" que era tener que estar subiendo toda esa estructura al repositorio de código de fuente.
Excelente dato che! me lo apunto :D
Una lastima no haber podido asitir :(
Otra vez será ;)
Vaya, descarté ir porque tengo muy trillado el tema de integración continua y pensaba que no me aportaría demasiado, sin embargo, si llego a saber las herramientas que pensabais utilizar habría ido fijo. Por ejemplo, habitualmente utilizo CruiseControl, NAnt y Git. Me habría venido bien Jenkins, Mercurial, etc.
No conocía la existencia de OpenCover y ReportGenerator. Gracias por citarlos, los voy a tener muy en cuenta en próximos desarrollos.
En fin, una pena que no asistiera.
Que ganas de poder asistir a un evento de este tipo. ¿Para cuando una gira por Canarias?
Pues nada, la próxima te apuntas, que está bien contar con opiniones y experiencias con otras herramientas. Además en las cañas de después salieron temas muy interesantes para debatir.
Uy!!! Canarias me pilla un poco lejos XDDD
Intentaremos repertirlo online ;)
Sí, una pena, todo lo que se contó es muy práctico, son eventos muy interesantes que merecen la pena grabarlos como webcast o transmitirlos vía streaming. Saludos.
¿Puedo?
La 3. ;-)
Y con tu permiso, te complico un poco el ejemplo:
class Program
static void Main(string[] args)
new Foo().Bar((int)10);
Console.ReadLine();
class Foo
public void Bar(long l) { Console.WriteLine("Foo::Bar"); }
static class FooExtensions
public static void Bar(this Foo foo, int i) { Console.WriteLine("FooExtensions::Bar"); }
Qué se imprime AHORA? ¿Foo::Bar o FooExtensions::Bar?
pd: Me encantan esos posts!
Creo que a la pregunta de Luis la respuesta es "Hello Foo!", y a la Tomas es "Foo::Bar".
Esto es porque una extensión no es más que un "caramelo" de compilación. En el momento que se compila una llamada a una extensión, se realiza usando el formato estático de la misma. Es decir, una llamada tipo: "foo.ExtensionMethod();", se traduce en tiempo de compilación como "Extensions.ExtensionMethod(foo);".
Pero esta "transformación" se hace si no existe el método en la clase original. Al existir, siempre coge el método de la clase.
De esto deducimos que no se puede sobrecargar un método desde una extensión.
¿He acertado? :)
>Pero esta "transformación" se hace si no existe el método en la clase original. Al existir, siempre coge el método de la clase.
Oui ;-)
Pero la sentencia correcta seria que la transformación no se hace "si existe un método en la clase original que pueda ser llamado. Es decir cuyos parámetros sean compatibles con los que se pasen, incluyendo cualquier conversión implícita que sea necesario".
Es importante este último punto: si NO hay conversión implícita válida, el método de instancia es descartado ya que no es "válido para ser llamado".
En mi ejemplo hay una conversión implicita de int (el tipo de parámetro, que he casteado para añadir "redundancia") y long que es el tipo del método de instancia". Por lo tanto el método de instancia se selecciona y el de extensión se descarta.
>De esto deducimos que no se puede sobrecargar un método desde una extensión.
Falso.
Si puedes, siempre y cuando la sobrecarga no entre en conflicto (incluyendo conversiones implícitas) con cualquier método de instancia definido:
new Foo().Bar("ufo");
public static void Bar(this Foo foo, string s) { Console.WriteLine("FooExtensions::Bar"); }
En este caso se llama al método de extensión, ya que no hay conversión implícita válida de int a string.
pd: Luis, eres responsable DIRECTO de mi baja productividad hoy :P ^_^
Y me corrijo, se puede sobrecargar de varias formas:
1. usando diferente número de parámetros
2. usando tipos de variable que no tengan un "cast" implícito. Por ejemplo:
public static void Bar(this Foo foo, string i) { Console.WriteLine("FooExtensions::Bar"); }
foo.Bar(10.ToString());
Como un string implícitamente no se puede convertir en int, llamaría a la extensión.
Ahora yo tengo OTRA pregunta que hacerle a Luis...
Cuanto tiempo has perdido depurando hasta darte cuenta de lo que ha ocurrido y escribir este post? :P :P :P
Un abrazo!
pd: ¿Usáis mucho los métodos de extensión? ¿En qué situaciones? ¿Cuando decidís que algo es un método de extensión y no un método de instancia?
Realmente instructivo para ver el comportamiento de los métodos de extensión. Sería interesante ver cuáles son las buenas prácticas en cuanto métodos de extensión, para darles un uso adecuado y no abusar de ellos.
En mi caso, los he utilizado en una capa DAL para extender el IDataReader, para facilitar la recuperación de valores.
Hola Eduard,
Pues me pasó el otro día en casa con un proyecto que tenía aparcado y fué porque tuve la mala suerte (Buena porque he aprendido sobre esto) de llamar a un método extensor de una clase sealed exactamente igual, no hacen lo mismo pero usé ese nombre y la cagué :(
En SharePoint lo usamos mucho, date cuenta que el Object Model de SharePoint es casi todo sealed y la única menera de añadir funcionalidad a ciertas clases como SPSite, SPWeb... es a través de métodos extensores.
Sobre tu ejemplo, me has pillado completamente, no sabía lo de la conversión implícita y te agradezco que pusieras el ejemplo, al final me voy a casa con otra cosa más aprendida :)
Un saludo y gracias por vuestros comentarios :)
¿Qué sucedería si el cast es explícito? jeje
Nosotros usamos los métodos extensores en 3 casos:
1.- Cuando quieres añadir un método a una clase de la que no tienes control. Por ejemplo: string.Pascalize.
2.- Para evitar referencias cruzadas entre dos dlls. Por ejemplo, si una clase de una dll utiliza algunos métodos de otra dll y un método necesita la referencia cruzada.
3.- Cuando tenemos algunas clases auxiliares comunes (añadiendo el mismo fichero a dos proyectos utilizando añadir como link) entre la parte servidora (.Net) y Silverlight. No todas las librerias son iguales entre estos dos entornos y por tanto necesitas en algunos casos concretar el entorno. Por ejemplo: El método string.Compare no tiene los mismos tipos de argumentos y por tanto el código para llamar a este método debe ser diferente. PD: Esto tb se puede hacer con partials.
y un tercero, aunque no es muy 'elegante':
4.- Añadir código a una interface. Se puede hacer un método extensor a una interface y por tanto hacer una pseudo herencia múltiple en .net
Pues yo creo que te devolverá un solo resultado (no diré cual).
Pero la forma en como se está usando este enum no me cuadra nada, pero nada de nada.
Fixit!
Thanks!
Pue sí señor, un solo resultado, el siguiente balón de oro "Ronaldo"
La cosa es ver que si creamos un método extensor como en este caso Where, que ya existe en el espaciod e nombres System.Linq, tiene preferencia los métodos extensores de nuestro espacio de nombres. Así que hay que tener cuidado :)
Un saludp
xDDD
Vale, ahora entiendo el motivo del post :P
Aunque, si me permites, una puntualización :)
Tu método Where es tomado en lugar del método Where de LINQ, simple y llanamente porque NO es genérico.
Un método NO genérico siempre tiene prioridad sobre uno de genérico.
static void Foo<T>(T t)
Console.WriteLine(typeof(T).Name);
static void Foo(int i)
Console.WriteLine("Es un entero!");
Foo(10);
La salida de este programa es "Es un entero!". Porque el método Foo(int) tiene más prioridad que el método Foo<T> siendo T = int.
Pues lo mismo ocurre en tu caso.
Hola un mini aporte más XDD
Aunque lo declares como generico:
public static IEnumerable<T> Where<T>(
this IEnumerable<T> source,
Func<T, bool> filter)
Al menos en las pruebas que he estado haciendo, invoca a tu propio método, pero creo que si incluyeras una clausula where:
Func<T, bool> filter) where T : IPlayer
Llamaria a tu método. ¿Qué opinas Edu?
Efectivamente Javier como decía más arriba:
"tiene preferencia los métodos extensores de nuestro espacio de nombres"
Da igual que sean genéricos o no :)
y yo digo... ¿que pasa si ponemos esta línea de código Luis?:
var result = strikers.Where<Striker>(s => s.Goals > 40);
En lugar de:
var result = strikers.Where(s => s.Goals > 40);
Pruébalo. ;)
Buena apreciación Jorge :)
Ronaldo
Messi
Usa el System.Linq ¿Por qué?
Porque en el caso de Jorge, estás invocando al método genérico, ya que pones específicamente un tipo genérico (<Striker>), con lo cual el compilador DEBE invocar un método genérico, y el tuyo no lo es.
Ahora bien, si el método Where que hubiera definido Luis fuese:
public static class Extensions
foreach (var striker in source)
if (filter(striker) )
yield return striker;
En este caso, si este método está dentro del mismo namespace que el que lo invoca SI se usa este método en lugar del de LINQ. Este caso SI es a lo que se refería Luis con lo de "tiene preferencia los métodos extensores de nuestro espacio de nombres". Pero NO es el mimso caso que ha expuesto en el post. En el post su método se selecciona porque NO es genérico. Y se seleccionaría ANTES que el de LINQ incluso aunque NO estuviese en el mismo namespace.
Javi, que haya una cláusula where NO implica nada. Nada de nada. Haz una prueba rápida: crea el método genérico ese, con la clausula. Mételo dentro de un namespace foo.
Añade el using System.Linq y el using foo. Llama a .Where y verás que el código NO compila.
Hay un post de eric lippert donde lo cuenta: las cláusulas where NO forman parte de la firma: blogs.msdn.com/.../constraints-are-not-part-of-the-signature.aspx
Exacto!!! Esa es la razón, o al menos, así lo veo yo también. :)
Muy buenos los comentarios, sobre todo porque uso mucho los métodos y a veces me veo con estos temas. Muy buenos
Por cierto Eduard, entiendo que con tu último comentario, lo que quieres indicar es que la llamada adecuada sería entonces algo así:
var result = strikers.Where(s => s.Goals > 40 && s.Looks == Look.Handsomd);
Y en el caso habitual:
De esta manera, obtendríamos las dos salidas que indicaba Luis.
¿Es así?.
Muy bueno el Tip, ya era engorroso tener que actualizar todo al descargar el repositorio
la d o eso creo
La D
Sin decir la solución, esta es diferente a:
var arrayAction = new Action[10];
for (var i = 0; i < 10; i++)
var j = i;
arrayAction[i] = () => Console.Write("{0} ", j);
foreach (var action in arrayAction)
action.Invoke();
Me faltan los porques XD
Realmente en la línea en la que asignas el delegado al Action no le has indicado que el valor i se le debe pasar por argumento, sino que simplemente lo utilizas en el interior.
Esto hace que simplemente se guarde la referencia y en el momento de la invocación (ya en el segundo bucle), busque el valor de esa variable que después de todas las iteraciones es 10. En en todos las acciones muestra el mismo valor porque todas las Acciones apuntan al mismo espacio de memoria.
En el caso que he comentado yo, como la variable se ha declarado dentro del primer bucle, esta cada iteración le crea un espacio de memoria diferente y entonces muestra los valores de 0-9.
Pues efectivamente es la D:
10 10 10 10 10 10 10 10 10 10
¿Por qué?
Tiene que ver con lo que se denominan "closures" o "clausura"
es.wikipedia.org/.../Clausura_(inform%C3%A1tica)
que nos viene a decir más o menos:
Que las funciones internas tienen acceso real a las variables de la función externa y no a una copia, en este caso la expresión lambda tiene acceso al valor actual de i (10, porque lo hemos ido incrementado en el bucle for) y no a una copia con el valor que tenía i cuando creamos dicha lambda.
¿Solución?
Pues @Xavi Paper lo ha puesto en su código, usar una variable auxiliar que será la copia con el valor actual de i que use la lambda cuando se crea y por lo tanto la salida del programa será:
0 1 2 3 4 5 6 7 8 9
Otra solución es usar VS11... ;-)
En C#5 se ha modificado este comportamiento: blogs.msdn.com/.../closing-over-the-loop-variable-considered-harmful.aspx
(leed el UPDATE inicial).
Ostias Edu!
Gracias por el link... aunque como sigan metiendo más syntactic sugar, al final los developers diabéticos van a petar! ;)
Lluis... Tranquilo: siempre estará Scott Hanselman para pararles los pies! ;-)
(dicho con todo el cariño hacia Scott)
Resharper también te avisa :)
"Access to modified closure" XDD
Esa es justamente la gracia de los closures! y si no, mirá como se puede crear un tipo a la BLOCKED SCRIPT
var person = CreatePerson(new{
FirstName = "Lucas",
LastName = "Ontivero",
Age = 34
});
Console.WriteLine("Name....... : {0}", person.GetFullName());
Console.WriteLine("IsJuvenile. : {0}", person.IsJuvenile);
person.SetFirstName("Pablo");
Console.ReadKey();
static private dynamic CreatePerson(dynamic cfg)
var firstName = cfg.FirstName;
var lastName = cfg.LastName;
var age = cfg.Age;
return new{
GetFullName = new Func<string>(()=> string.Format("{0} {1}", firstName, lastName)),
FirstName = firstName,
LastName = lastName,
SetFirstName = new Action<string>(fn => firstName= fn),
SetLastName = new Action<string>(ln => lastName = ln),
IsJuvenile = age < 18
};
Leía este post de Luis Ruiz Pavon acerca del comportamiento de los closures en el que Luis anima a responder