de hecho en el 2005 Scott aún decia *Variables marked with [ThreadStatic]:* These should NEVER be used from within ASP.NET. I've blogged about its evil before.
2011/2/18 Fabio Maulo <[email protected]> > Bueno Angel... sería mucho mas coherente si una fuente oficial de Microsoft > publicara en el MSDN que desde X version de IIS es seguro 100% que para > resolver completamente un request se usa un unico thread. > Con esa simple aclaracción nos ahorrariamos de hacer magias para testear > parte de frameworks cuando el HttpContext.Current no está disponible. > Si pasas por alguna empresa que escribe articulos y proyectos para > Microsoft avisale, por favor. > Gracias. > > P.S. cuando ese articulo esté publicado voy a tirar unas cuantas clases y > lineas de codigos (menos lineas menos bugs). > > > 2011/2/18 Angel Java Lopez <[email protected]> > >> Hola gente! >> >> Gracias por la info. Paso lo que tengo coleccionado: >> >> http://piers7.blogspot.com/2005/11/threadstatic-callcontext-and_02.html >> http://msdn.microsoft.com/en-us/library/ms178472.aspx >> >> http://groups.google.com/group/microsoft.public.dotnet.framework.aspnet/browse_frm/thread/cef5d88a2e3e26e1/85798178bdf7c0c8?q=asp.net+thread+agile&rnum=1&pli=1 >> http://www.hanselman.com/blog/StoringThingsOnThreads.aspx >> http://msdn.microsoft.com/en-us/library/ms972109.aspx >> http://integralpath.blogs.com/thinkingoutloud/2005/03/threadstatic_fu.html >> >> http://jingyeluo.blogspot.com/2005/06/what-great-net-developers-ought-to_06.html >> >> >> http://www.hanselman.com/blog/ATaleOfTwoTechniquesTheThreadStaticAttributeAndSystemWebHttpContextCurrentItems.aspx >> >> Si, ese post de piers7 siempre me parecio el mas informativo, pero vean >> que es .NET 1.1, y alguien escribio: >> piers7, am trying to reproduce the same scenario (Thread switching), which >> is discussed. I am using Asp.net 2.0 (AS.net development server). From your >> log it is clear that the issue is reproducible. But i could not able to do >> that in 2.0? Can you please confirm that it is not the problem in 2.0. Also >> it would be helpful if you can post your code with which you able to >> reproduce. >> >> Alguien pudo reproducir el caso piers7? >> >> Por eso, una vez cada dos anios, vuelvo a preguntar por el tema ;-) >> >> Angel "Java" Lopez >> http://www.ajlopez.com >> http://twitter.com/ajlopez >> >> >> >> 2011/2/18 Fabio Maulo <[email protected]> >> >>> Lamentablemente no hay. >>> Hubo un rumor emitido por gente muy cercana a Microsoft, hace unos años, >>> que avisaban que en WEB no es aconsejable usar ThreadStatic "descansando" en >>> que todo el request se ejecute en el mismo thread; es mas seguro usar el >>> HttpContext. >>> Si me avisan de un probable problema yo le creo (a MS)... el problema >>> está cuando dicen que no hay problemas mientras descubrís que si hay. >>> >>> La info viene de Scott Hanselmans pero no encuentro mas el post. Lo que >>> volví a encontrar es el post de este chico que hizo un lindo estudio: >>> http://piers7.blogspot.com/2005/11/threadstatic-callcontext-and_02.html >>> <http://piers7.blogspot.com/2005/11/threadstatic-callcontext-and_02.html> >>> *What the output shows is that - for the second request - the >>> BeginRequest events in the HttpModule pipeline and the page constructor fire >>> on one thread, but the Page_Load fires on another. The second thread has had >>> the HttpContext migrated from the first, but not the CallContext or the >>> ThreadStatic's* >>> >>> 2011/2/18 Angel Java Lopez <[email protected]> >>> >>>> Evidencia de "ya que un Request hasta se puede ejecutar con mas de un >>>> thread"? >>>> >>>> 2011/2/18 Fabio Maulo <[email protected]> >>>> >>>> LOL!!! >>>>> Por casualidad están hablando de SharpArch ? >>>>> Hace 1.5 un cliente tenia que empezar una app nueva con NH. En su >>>>> estructura inicial faltaba solo el "niño Jesús" para tener el presebe >>>>> completo. >>>>> Una de la primera cosa que saqué fue la entidad de base de SharpArch... >>>>> [ThreadSatic] y nada, en un entorno WEB es exactamente lo mismo ya que >>>>> un Request hasta se puede ejecutar con mas de un thread. >>>>> >>>>> No vayan buscando tanta cosas... y sobre todo eviten los frameworks >>>>> omnipresentes en todos niveles logico de la app. con las classes de .NET >>>>> sobra... hasta saquen la reference System.Data.Extension si no es >>>>> necesario >>>>> en una assembly especifico. >>>>> >>>> >>>> -- >>>> Para escribir al Grupo, hágalo a esta dirección: >>>> [email protected] >>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>> >>> >>> >>> >>> -- >>> Fabio Maulo >>> >>> -- >>> Para escribir al Grupo, hágalo a esta dirección: >>> [email protected] >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > > > -- > Fabio Maulo > > -- Fabio Maulo -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
