Problemi relativi ai metadati
L'infrastruttura di .NET Remoting richiede che, mediante i metadati appropriati, si stabilisca una connessione tra un oggetto in un dominio di applicazione e un oggetto di un altro dominio. In tutti i casi, è necessario che il dominio di applicazione client disponga dei metadati dell'oggetto remoto da utilizzare. Di seguito sono riportate le problematiche più importanti da considerare.
Per gli oggetti attivati da server, è necessario che il nome dell'assembly contenente il tipo sia identico nel client e nel server, così come il nome del tipo. L'identità del tipo è determinata infatti mediante la combinazione del nome dell'assembly e del tipo, compresa la versione dell'assembly ed eventuali informazioni relative ai nomi sicuri.
Per gli oggetti attivati da client, è necessario che il nome dell'assembly contenente il tipo sia identico nel client e nel server, così come il nome del tipo. È inoltre necessario che il client disponga di un'implementazione effettiva del tipo remoto e che tutti i membri dispongano esattamente della stessa firma dei membri corrispondenti sull'implementazione server.
Nota
Non è necessario che l'implementazione client corrisponda all'implementazione server. Per evitare che il client acceda all'implementazione server, è possibile generare una libreria fittizia che soddisfi tutti i suddetti requisiti, ma contenga membri generati automaticamente da cui è generata l'eccezione NotSupportedException. La suddetta operazione viene eseguita dallo strumento Soapsuds (Soapsuds.exe) per i client che utilizzano la serializzazione SOAP. È possibile ottenere questo risultato per qualsiasi tipo pubblicato con marshalling per riferimento mediante un canale qualsiasi.