.NET Framework remoting provides two levels of automatic deserialization, TypeFilterLevel.Low and TypeFilterLevel.Full. The TypeFilterLevel.Low deserialization level helps protect against deserialization attacks by deserializing only the types associated with the most basic remoting functionality. The TypeFilterLevel.Full deserialization level supports automatic deserialization of all types that remoting supports in all situations. For a list of the .NET Framework remoting types that TypeFilterLevel.Low and TypeFilterLevel.Full support, see [<topic://cpconAutomaticDeserializationInNETRemoting>].
You can set the members of this enumeration programmatically or by using an application configuration file. For examples, see [<topic://cpconAutomaticDeserializationInNETRemoting>].
Do not assume that controlling deserialization is the only security your application requires. In distributed applications, even a high degree of control over serialization might not prevent malicious clients from intercepting the communication and using it in some way, even if that is merely showing data to others. Therefore, although the TypeFilterLevel.Low deserialization level provides some protection against certain types of attack based upon automatic deserialization, you must still evaluate whether to use authentication and encryption to help protect the confidentiality of your data.
The full deserialization level for .NET Framework remoting. It supports all types that remoting supports in all situations.
The low deserialization level for .NET Framework remoting. It supports types associated with basic remoting functionality.