SoapFormatter Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy SoapFormatter.

Przeciążenia

SoapFormatter()

Inicjuje SoapFormatter nowe wystąpienie klasy z domyślnymi wartościami właściwości.

SoapFormatter(ISurrogateSelector, StreamingContext)

Inicjuje SoapFormatter nowe wystąpienie klasy z określonymi ISurrogateSelector parametrami i StreamingContext.

SoapFormatter()

Inicjuje SoapFormatter nowe wystąpienie klasy z domyślnymi wartościami właściwości.

C#
public SoapFormatter ();

Przykłady

C#
using System;
using System.IO;
using System.Collections;
using System.Runtime.Serialization;

// Note: When building this code, you must reference the
// System.Runtime.Serialization.Formatters.Soap.dll assembly.
using System.Runtime.Serialization.Formatters.Soap;

class App
{
    [STAThread]
    static void Main()
    {
        Serialize();
        Deserialize();
    }

    static void Serialize()
    {
        // Create a hashtable of values that will eventually be serialized.
        Hashtable addresses = new Hashtable();
        addresses.Add("Jeff", "123 Main Street, Redmond, WA 98052");
        addresses.Add("Fred", "987 Pine Road, Phila., PA 19116");
        addresses.Add("Mary", "PO Box 112233, Palo Alto, CA 94301");

        // To serialize the hashtable (and its key/value pairs),
        // you must first open a stream for writing.
        // Use a file stream here.
        FileStream fs = new FileStream("DataFile.soap", FileMode.Create);

        // Construct a SoapFormatter and use it
        // to serialize the data to the stream.
        SoapFormatter formatter = new SoapFormatter();
        try
        {
            formatter.Serialize(fs, addresses);
        }
        catch (SerializationException e)
        {
            Console.WriteLine("Failed to serialize. Reason: " + e.Message);
            throw;
        }
        finally
        {
            fs.Close();
        }
    }

    static void Deserialize()
    {
        // Declare the hashtable reference.
        Hashtable addresses  = null;

        // Open the file containing the data that you want to deserialize.
        FileStream fs = new FileStream("DataFile.soap", FileMode.Open);
        try
        {
            SoapFormatter formatter = new SoapFormatter();

            // Deserialize the hashtable from the file and
            // assign the reference to the local variable.
            addresses = (Hashtable) formatter.Deserialize(fs);
        }
        catch (SerializationException e)
        {
            Console.WriteLine("Failed to deserialize. Reason: " + e.Message);
            throw;
        }
        finally
        {
            fs.Close();
        }

        // To prove that the table deserialized correctly,
        // display the key/value pairs to the console.
        foreach (DictionaryEntry de in addresses)
        {
            Console.WriteLine("{0} lives at {1}.", de.Key, de.Value);
        }
    }
}

Uwagi

Poniższa tabela prezentuje początkowe wartości właściwości dla wystąpienia klasy SoapFormatter.

Właściwość Wartość
SurrogateSelector null
Context Nowy StreamingContext zainicjowany w celu określenia, że serializowane dane mogą być przesyłane do lub odbierane z dowolnego z innych kontekstów

Dotyczy

.NET Framework 4.8.1 i inne wersje
Produkt Wersje
.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

SoapFormatter(ISurrogateSelector, StreamingContext)

Inicjuje SoapFormatter nowe wystąpienie klasy z określonymi ISurrogateSelector parametrami i StreamingContext.

C#
public SoapFormatter (System.Runtime.Serialization.ISurrogateSelector selector, System.Runtime.Serialization.StreamingContext context);

Parametry

selector
ISurrogateSelector

Element ISurrogateSelector do użycia z nowym wystąpieniem klasy SoapFormatter. Może to być null.

context
StreamingContext

Obiekt StreamingContext , który zawiera źródło i miejsce docelowe serializacji. context Jeśli parametr ma nullwartość , wartość domyślna Context to CrossMachine.

Uwagi

Obiekty są serializowane do lub deserializowane z określonej wartości Stream.

Proces serializacji lub deserializacji używa określonej ISurrogateSelector metody do wyszukiwania surogatów zarejestrowanych dla typów obiektów, które mają zostać zdeserializowane. Zastępcze to pomocnicy, którzy serializują i deserializują obiekty określonych klas. Wartość domyślna ISurrogateSelector nie może obsługiwać serializacji obiektów, które pochodzą z MarshalByRefObject obiektu do celów komunikacji zdalniej. W sytuacji komunikacji zdalnej określony ISurrogateSelector zastępuje obiekt pochodzący z MarshalByRefObject obiektu ObjRef , który jest serializowany przez określony selektor zastępczy. W związku z tym, jeśli chcesz użyć obiektów zdalnych, ustaw selector parametr na wystąpienie RemotingSurrogateSelector. Jeśli nie potrzebujesz surogatów, ustaw parametr na selectornull.

Zobacz też

Dotyczy

.NET Framework 4.8.1 i inne wersje
Produkt Wersje
.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