INormalizeForIsolatedStorage Interface

Definition

Enables comparisons between an isolated store and an application domain and assembly's evidence.

C#
public interface INormalizeForIsolatedStorage
C#
[System.Runtime.InteropServices.ComVisible(true)]
public interface INormalizeForIsolatedStorage
Attributes

Remarks

Isolated storage uses evidence about an assembly in order to identify it and provide it with a unique file storage location. When an assembly requests a store, its evidence (as presented by the host that loaded it) is processed and compared with the evidence used to create the existing stores. This determines if you need to create a new store or if one already exists for the assembly in question. Due to the comparison technique used, pieces of evidence that are functionally equivalent might not result in a true comparison if the serialized forms are not identical. When implementing custom evidence, consider whether this is the case for your evidence class and, if so, implement INormalizeForIsolatedStorage. For evidence that implements this interface, the Normalize method is called and comparisons are based on the normalized copy of the object returned by that method.

Notes to Implementers

Implement this interface when you are implementing custom evidence and need to determine if a store already exists. Serialized objects should not be used for comparisons in some instances, such as that of case sensitive strings. For example, www.MSN.com is equal to WWW.msn.com and will return a true when compared. To create an INormalizeForIsolatedStorage object, you need to implement the Normalize() method.

Notes to Callers

Call the methods of this interface to normalize the instance before making comparisons between an assembly's evidence and currently existing isolated stores.

Methods

Normalize()

When overridden in a derived class, returns a normalized copy of the object on which it is called.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1