No necesariamente. Depende de lo que quiere decir con "seguridad de hilo".
Supongamos, por ejemplo, que comparten un Entity Framework, digamos "db", y funcionan en alguna tabla. ya que llamó a su controlador "MyController", llame a este db.MyTable Cada solicitud invoca una instancia diferente de MyController. Hasta el momento, hilo de seguridad. Cada controlador crea una instancia de MyEntities db = new MyEntities(); Hasta ahora, seguro. pero como db.MyTable es del tipo IEnumerable <MyTable>, interactúan entre sí. Supongamos que trabajan en la misma entidad en la base de datos (sin bloqueos), digamos db.MyTable [0]: se sobrescribirán entre sí ("el último para guardar las ganancias").
3 usuarios de su sitio tendrán tres punteros independientes (en la pila) apuntando al mismo lugar (en la base de datos). No es un problema de hilo. Es un problema de bloqueo de datos.
Tiene la razón de que las instancias del Controlador son por solicitud – roryf
¿Hay una instancia de controlador por solicitud que la haga segura? ¿O hay una forma en que una instancia de un controlador podría ser utilizada por múltiples hilos en la misma solicitud? Quiero asegurarme de que si le doy a mi controlador una variable privada, es seguro para subprocesos. – xr280xr
Un miembro de instancia de una instancia de controlador debería ser seguro para subprocesos, hasta donde yo sé. Pero asegúrese de que todos los recursos que utiliza el controlador sean realmente seguros para subprocesos. De nuevo, nótese que no sé que la instancia del controlador es por solicitud. –