Cuando comencé a usar C# no estaba seguro de cómo se trataban las referencias exactamente (si se pasaban por valor, etc.). Pensé erróneamente que la palabra clave 'ref' era necesaria al pasar objetos que serían modificados por el método llamado.palabra clave 'ref' y AppDomains
Luego, después de leer hilos como this, me di cuenta que 'ref' solo era necesario cuando necesita cambiar la referencia/puntero real.
Pero hoy me he encontrado con un problema al pasar un parámetro a través de una llamada remota, donde realmente se necesitaba una referencia para modificar el contenido del objeto. Cuando pasó sin ref, el objeto regresó sin cambios. Me dijeron que agregara la palabra clave ref, pero argumenté por un tiempo que solo era necesario cuando cambias el puntero en sí, no el contenido al que se apunta.
He buscado en la red y solo he encontrado un single page que lo discute brevemente. ¿Es esto un problema conocido y alguien puede señalar alguna documentación al respecto? Me parece que tendré que usar ref ahora para cualquier parámetro que se esté modificando a través de una llamada remota.
Estoy bastante seguro de que tanto SOAP (asmx) como los servicios web de WCF se encargarán de la "ref" como se espera, organizándolo en ambas direcciones. –