Skip to content

Commit 32380ed

Browse files
committed
Add more warnings about BinaryFormatter and NetDataContractSerializer
1 parent 04a5ecd commit 32380ed

File tree

5 files changed

+12
-3
lines changed

5 files changed

+12
-3
lines changed

docs/orleans/host/configuration-guide/serialization.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,8 @@ Alternatively, the fallback serialization provider can be specified in XML confi
389389

390390
The <xref:Orleans.Serialization.BinaryFormatterSerializer> is the default fallback serializer.
391391

392+
[!INCLUDE [binary-serialization-warning](../../../../binary-serialization-warning.md)]
393+
392394
## Exception serialization
393395

394396
Exceptions are serialized using the [fallback serializer](serialization.md#fallback-serialization). Using the default configuration, `BinaryFormatter` is the fallback serializer and so the [ISerializable pattern](/previous-versions/dotnet/fundamentals/serialization/binary/custom-serialization) must be followed in order to ensure correct serialization of all properties in an exception type.

docs/standard/design-guidelines/serialization.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ Serialization is the process of converting an object into a format that can be r
3232

3333
❌ AVOID supporting Runtime Serialization or XML Serialization just for general persistence reasons. Prefer Data Contract Serialization instead.
3434

35+
[!INCLUDE [binary-serialization-warning](../../../binary-serialization-warning.md)]
36+
37+
[!INCLUDE [netdatacontractserializer-warning](../../../netdatacontractserializer-warning.md)]
38+
3539
## Supporting Data Contract Serialization
3640

3741
Types can support Data Contract Serialization by applying the <xref:System.Runtime.Serialization.DataContractAttribute> to the type and the <xref:System.Runtime.Serialization.DataMemberAttribute> to the members (fields and properties) of the type.

docs/standard/serialization/binaryformatter-migration-guide/choose-a-serializer.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ While `DataContractSerializer` carries those functional benefits when migrating
5858

5959
[Migrate to DataContractSerializer (XML)](./migrate-to-datacontractserializer.md).
6060

61-
> [!NOTE]
62-
> Do not confuse <xref:System.Runtime.Serialization.DataContractSerializer> with <xref:System.Runtime.Serialization.NetDataContractSerializer>. <xref:System.Runtime.Serialization.NetDataContractSerializer> is also identified as a [dangerous serializer](../binaryformatter-security-guide.md#dangerous-alternatives).
61+
[!INCLUDE [netdatacontractserializer-warning](../../../../netdatacontractserializer-warning.md)]
6362

6463
## Binary using MessagePack
6564

includes/migration-guide/runtime/serialization/soapformatter-cannot-deserialize-hashtable-similar-ordered-collection.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ The <xref:System.Runtime.Serialization.Formatters.Soap.SoapFormatter?displayProp
66

77
#### Suggestion
88

9-
<xref:System.Runtime.Serialization.Formatters.Soap.SoapFormatter?displayProperty=fullName> serialization should be replaced with <xref:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter?displayProperty=fullName> serialization or <xref:System.Runtime.Serialization.NetDataContractSerializer?displayProperty=fullName> to be resilient to .NET Framework changes.
9+
<xref:System.Runtime.Serialization.Formatters.Soap.SoapFormatter?displayProperty=fullName> serialization should be replaced with a serializer that is resilient to .NET Framework changes. Examples include [System.Text.Json](/dotnet/standard/serialization/system-text-json/overview) and <xref:System.Runtime.Serialization.DataContractSerializer?displayProperty=fullName>.
1010

1111
[!INCLUDE [binary-serialization-warning](../../../binary-serialization-warning.md)]
1212

13+
[!INCLUDE [netdatacontractserializer-warning](../../../netdatacontractserializer-warning.md)]
14+
1315
| Name | Value |
1416
| :------ | :------ |
1517
| Scope | Minor |
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
> [!WARNING]
2+
> Do not confuse <xref:System.Runtime.Serialization.DataContractSerializer> with <xref:System.Runtime.Serialization.NetDataContractSerializer>. <xref:System.Runtime.Serialization.NetDataContractSerializer> is identified as a [dangerous serializer](/dotnet/standard/serialization/binaryformatter-security-guide.md#dangerous-alternatives).

0 commit comments

Comments
 (0)