January 2007 - Posts

The type initializer for * threw an exception
The type initializer for *inserta tu clase favorita aqui* threw an exception

Me estaba volviendo loco con este error, no se encuentra mucha informacion sobre esto, debi haber usado mis poderes psiquicos antes

El escenario es un servicio web (.net 2.0) que manda llamar (muy dentro) un codigo que usa refleccion para instanciar algunas clases, el mismo codigo funciona bien dentro de una aplicacion web, y eso es lo raro, que tan diferente es un servicio web a una aplicacion web en cuestion de permisos y seguridad?

pero bueno, casi desde el principio sospeche que se trataba de un problema con los permisos, pero el hecho de que era un servicio web, y que el mismo codigo funcionaba bien en la aplicacion web me hizo dejar esta opcion hasta el final, busque bastante y no encontre ninguna respuesta, luego decidi configurar otro usuario en IIS para correr mi servicio, y listo, todo corrio bien.

ok, ahora ya se que el problema es con permisos, pero no me gusta mucho el "parche", asi que seguire buscando e intentando algunas cosas haber si encuentro una solucion mas elegante.

tip gratis para aquellos que no sepan
pon "The type initializer for * threw an exception" en google... viste, que bonito? google acepta comodines (wildcards) para hacer busquedas, tambien funciona con multiples comodines en una frase
formateando 0, 1 como si, no, etc
Esto es algo que todos (los programadores) hemos hecho alguna vez, convertir un valor 0, 1 al equivalente si o no, prendido o apagado, verdadero o falso, valor en un string

pues resulta que hay una funcion en el BCL con la cual podemos hacer exactamente eso, string.Format es dicha funcion

Console.WriteLine(string.Format("{0:si;;no}", 0)); //salida "no"
Console.WriteLine(string.Format("{0:si;;no}", 1)); //salida "si"

y nomas por ver que pasaba
Console.WriteLine(string.Format("{0:si;;no}", -1)); //salida "-si"

...Esas pequeñas cosas
Pregunta capciosa para entrevista
Es el siguiente codigo:
A)
a1 = new SomeClass();
a2 = new SomeClass();

equivalente a este:
B)
a1 = a2 = new SomeClass();

??
(explicar porque)

El truco aqui es como haces la pregunta, si preguntaras "cual es la diferencia entre opcion A y opcion B", ya les estas diciendo que hay una diferencia.
Apple phone, tengo que unirme a la discusion...



















NOT!
efectos al cambiar de pestaña en Firefox

chequense esta extencion de Firefox,
estoy seguro que luego agregaran mas efectos...
sugerencia para el google reader
ya me permite ponerle estrellitas a los posts y compartirlos, eso esta muy bueno, ahora que tal si me permiten resaltar partes del texto?
apoco no estaria excelente? generalmente en los blogs hay alguna cosita en especial que queremos resaltar... haber si me hacen caso (aja)
ya recibi my "old new thing"
Ahora, si pudiera conseguir que me lo autografiaran J

Bueno, a leer se ha dicho J
primer chiste geek del año
Ayer estuve tratando de postear mas cosas, pero al parecer blogger.com no estaba funcionando, ni siquiera pude dejar comentarios en otros blogs de blogger =o(

pero bueno... feliz año a todos!
primer post del año
Acabo de pasar de Juarez al Paso, ha estado nevando toda la mañana aqui, espero que no me retracen mi vuelo, y lo peor de todo es que vuelo a travez de Denver, donde ha estado nevando bastante en los ultimos dias, de hecho antes de venir aca, estuvo cerrado el aeropuerto por 2 dias, y cuando yo pase el vuelo estuvo a tiempo pero mi equipaje no llego, y luego cuando llego, una de las maletas estaba rota y total que... haber como me va hoy

por mientras, tengo internet mientras voy en el auto, gracias a mi Cingular 8125 =o), asi que creo que al menos estare leyendo blogs el dia de hoy, y estare actualizando mi lista de blogs interesantes