XmlSerializer.Deserialize Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Deserializuje dokument XML.
Přetížení
Deserialize(Stream) |
Deserializuje dokument XML obsažený zadaným Stream. |
Deserialize(TextReader) |
Deserializuje dokument XML obsažený zadaným TextReader. |
Deserialize(XmlSerializationReader) |
Deserializuje dokument XML obsažený zadaným XmlSerializationReader. |
Deserialize(XmlReader) |
Deserializuje dokument XML obsažený zadaným XmlReader. |
Deserialize(XmlReader, String) |
Deserializuje dokument XML obsažený zadaným XmlReader a kódovacím stylem. |
Deserialize(XmlReader, XmlDeserializationEvents) |
Deserializuje dokument XML obsažený zadaným XmlReader dokumentem a umožňuje přepsání událostí, ke kterým dochází během deserializace. |
Deserialize(XmlReader, String, XmlDeserializationEvents) |
Deserializuje objekt pomocí dat obsažených zadaným XmlReader. |
Deserialize(Stream)
Deserializuje dokument XML obsažený zadaným Stream.
public:
System::Object ^ Deserialize(System::IO::Stream ^ stream);
public object Deserialize (System.IO.Stream stream);
public object? Deserialize (System.IO.Stream stream);
member this.Deserialize : System.IO.Stream -> obj
Public Function Deserialize (stream As Stream) As Object
Parametry
Návraty
Deserializováno Object .
Příklady
Následující příklad deserializuje objekt pomocí objektu Stream .
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
// This is the class that will be deserialized.
public ref class OrderedItem
{
public:
[XmlElement(Namespace="http://www.cpandl.com")]
String^ ItemName;
[XmlElement(Namespace="http://www.cpandl.com")]
String^ Description;
[XmlElement(Namespace="http://www.cohowinery.com")]
Decimal UnitPrice;
[XmlElement(Namespace="http://www.cpandl.com")]
int Quantity;
[XmlElement(Namespace="http://www.cohowinery.com")]
Decimal LineTotal;
// A custom method used to calculate price per item.
void Calculate()
{
LineTotal = UnitPrice * Quantity;
}
};
void DeserializeObject(String^ filename)
{
Console::WriteLine("Reading with Stream");
// Create an instance of the XmlSerializer.
XmlSerializer^ serializer = gcnew XmlSerializer(OrderedItem::typeid);
// Declare an object variable of the type to be deserialized.
OrderedItem^ i;
// Reading the XML document requires a FileStream.
Stream^ reader = gcnew FileStream(filename, FileMode::Open);
try
{
// Call the Deserialize method to restore the object's state.
i = dynamic_cast<OrderedItem^>(serializer->Deserialize(reader));
}
finally
{
delete reader;
}
// Write out the properties of the object.
Console::Write("{0}\t{1}\t{2}\t{3}\t{4}", i->ItemName, i->Description, i->UnitPrice, i->Quantity, i->LineTotal);
}
int main()
{
// Read a purchase order.
DeserializeObject( "simple.xml" );
}
using System;
using System.IO;
using System.Xml.Serialization;
// This is the class that will be deserialized.
public class OrderedItem
{
[XmlElement(Namespace = "http://www.cpandl.com")]
public string ItemName;
[XmlElement(Namespace = "http://www.cpandl.com")]
public string Description;
[XmlElement(Namespace="http://www.cohowinery.com")]
public decimal UnitPrice;
[XmlElement(Namespace = "http://www.cpandl.com")]
public int Quantity;
[XmlElement(Namespace="http://www.cohowinery.com")]
public decimal LineTotal;
// A custom method used to calculate price per item.
public void Calculate()
{
LineTotal = UnitPrice * Quantity;
}
}
public class Test
{
public static void Main()
{
Test t = new Test();
// Read a purchase order.
t.DeserializeObject("simple.xml");
}
private void DeserializeObject(string filename)
{
Console.WriteLine("Reading with Stream");
// Create an instance of the XmlSerializer.
XmlSerializer serializer =
new XmlSerializer(typeof(OrderedItem));
// Declare an object variable of the type to be deserialized.
OrderedItem i;
using (Stream reader = new FileStream(filename, FileMode.Open))
{
// Call the Deserialize method to restore the object's state.
i = (OrderedItem)serializer.Deserialize(reader);
}
// Write out the properties of the object.
Console.Write(
i.ItemName + "\t" +
i.Description + "\t" +
i.UnitPrice + "\t" +
i.Quantity + "\t" +
i.LineTotal);
}
}
Imports System.IO
Imports System.Xml.Serialization
' This is the class that will be deserialized.
Public Class OrderedItem
<XmlElement(Namespace := "http://www.cpandl.com")> _
Public ItemName As String
<XmlElement(Namespace := "http://www.cpandl.com")> _
Public Description As String
<XmlElement(Namespace := "http://www.cohowinery.com")> _
Public UnitPrice As Decimal
<XmlElement(Namespace := "http://www.cpandl.com")> _
Public Quantity As Integer
<XmlElement(Namespace := "http://www.cohowinery.com")> _
Public LineTotal As Decimal
'A custom method used to calculate price per item.
Public Sub Calculate()
LineTotal = UnitPrice * Quantity
End Sub
End Class
Public Class Test
Public Shared Sub Main()
Dim t As New Test()
' Read a purchase order.
t.DeserializeObject("simple.xml")
End Sub
Private Sub DeserializeObject(ByVal filename As String)
Console.WriteLine("Reading with Stream")
' Create an instance of the XmlSerializer.
Dim serializer As New XmlSerializer(GetType(OrderedItem))
' Declare an object variable of the type to be deserialized.
Dim i As OrderedItem
Using reader As New Filestream(filename, FileMode.Open)
' Call the Deserialize method to restore the object's state.
i = CType(serializer.Deserialize(reader), OrderedItem)
End Using
' Write out the properties of the object.
Console.Write(i.ItemName & ControlChars.Tab & _
i.Description & ControlChars.Tab & _
i.UnitPrice & ControlChars.Tab & _
i.Quantity & ControlChars.Tab & _
i.LineTotal)
End Sub
End Class
<?xml version="1.0"?>
<OrderedItem xmlns:inventory="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
<inventory:ItemName>Widget</inventory:ItemName>
<inventory:Description>Regular Widget</inventory:Description>
<money:UnitPrice>2.3</money:UnitPrice>
<inventory:Quantity>10</inventory:Quantity>
<money:LineTotal>23</money:LineTotal>
</OrderedItem>
Poznámky
Deserializace je proces čtení dokumentu XML a vytvoření objektu, který je silně napsaný do schématu XML (XSD) dokumentu.
Před deserializací XmlSerializer musí být vytvořen pomocí typu objektu, který je deserializován.
Pomocí parametru stream
určete objekt, který je odvozen od Stream třídy, který je navržený k zápisu do datových proudů. Třídy odvozené z Stream třídy zahrnují:
Poznámka
Nelze XmlSerializer deserializovat následující pole: pole ArrayList a pole .List<T>
Viz také
- XmlAttributes
- CanDeserialize(XmlReader)
- Serialize(TextWriter, Object)
- Představení serializace XML
- Postupy: Zadání alternativního názvu elementu pro XML stream
- Řízení serializace XML pomocí atributů
- Příklady serializace XML
- Nástroje definice schématu XML (Xsd.exe)
Platí pro
Deserialize(TextReader)
Deserializuje dokument XML obsažený zadaným TextReader.
public:
System::Object ^ Deserialize(System::IO::TextReader ^ textReader);
public object Deserialize (System.IO.TextReader textReader);
public object? Deserialize (System.IO.TextReader textReader);
member this.Deserialize : System.IO.TextReader -> obj
Public Function Deserialize (textReader As TextReader) As Object
Parametry
- textReader
- TextReader
Dokument TextReader XML, který se má deserializovat.
Návraty
Deserializováno Object .
Výjimky
Při deserializaci došlo k chybě. Původní výjimka je k dispozici pomocí InnerException vlastnosti.
Příklady
Následující příklad deserializuje objekt pomocí objektu TextReader .
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Xml::Serialization;
// This is the class that will be deserialized.
public ref class OrderedItem
{
public:
String^ ItemName;
String^ Description;
Decimal UnitPrice;
int Quantity;
Decimal LineTotal;
// A custom method used to calculate price per item.
void Calculate()
{
LineTotal = UnitPrice * Quantity;
}
};
void DeserializeObject( String^ filename )
{
Console::WriteLine( "Reading with TextReader" );
// Create an instance of the XmlSerializer specifying type.
XmlSerializer^ serializer = gcnew XmlSerializer( OrderedItem::typeid );
/* Create a TextReader to read the file. Specify an
Encoding to use. */
TextReader^ reader = gcnew StreamReader( filename,Encoding::Unicode );
// Declare an object variable of the type to be deserialized.
OrderedItem^ i;
// Use the Deserialize method to restore the object's state.
i = dynamic_cast<OrderedItem^>(serializer->Deserialize( reader ));
// Write out the properties of the object.
Console::Write( "{0}\t{1}\t{2}\t{3}\t{4}", i->ItemName, i->Description, i->UnitPrice, i->Quantity, i->LineTotal );
}
int main()
{
// Read a purchase order.
DeserializeObject( "simple.xml" );
}
using System;
using System.IO;
using System.Text;
using System.Xml.Serialization;
// This is the class that will be deserialized.
public class OrderedItem
{
[XmlElement(Namespace = "http://www.cpandl.com")]
public string ItemName;
[XmlElement(Namespace = "http://www.cpandl.com")]
public string Description;
[XmlElement(Namespace = "http://www.cohowinery.com")]
public decimal UnitPrice;
[XmlElement(Namespace = "http://www.cpandl.com")]
public int Quantity;
[XmlElement(Namespace = "http://www.cohowinery.com")]
public decimal LineTotal;
// A custom method used to calculate price per item.
public void Calculate()
{
LineTotal = UnitPrice * Quantity;
}
}
public class Test
{
public static void Main()
{
Test t = new Test();
// Read a purchase order.
t.DeserializeObject("simple.xml");
}
private void DeserializeObject(string filename)
{
Console.WriteLine("Reading with TextReader");
// Create an instance of the XmlSerializer specifying type.
XmlSerializer serializer =
new XmlSerializer(typeof(OrderedItem));
// Create a TextReader to read the file.
FileStream fs = new FileStream(filename, FileMode.OpenOrCreate);
TextReader reader = new StreamReader(fs);
// Declare an object variable of the type to be deserialized.
OrderedItem i;
// Use the Deserialize method to restore the object's state.
i = (OrderedItem) serializer.Deserialize(reader);
// Write out the properties of the object.
Console.Write(
i.ItemName + "\t" +
i.Description + "\t" +
i.UnitPrice + "\t" +
i.Quantity + "\t" +
i.LineTotal);
}
}
Imports System.IO
Imports System.Text
Imports System.Xml.Serialization
' This is the class that will be deserialized.
Public Class OrderedItem
<XmlElement(Namespace := "http://www.cpandl.com")> _
Public ItemName As String
<XmlElement(Namespace := "http://www.cpandl.com")> _
Public Description As String
<XmlElement(Namespace := "http://www.cohowinery.com")> _
Public UnitPrice As Decimal
<XmlElement(Namespace := "http://www.cpandl.com")> _
Public Quantity As Integer
<XmlElement(Namespace := "http://www.cohowinery.com")> _
Public LineTotal As Decimal
' A custom method used to calculate price per item.
Public Sub Calculate()
LineTotal = UnitPrice * Quantity
End Sub
End Class
Public Class Test
Public Shared Sub Main()
Dim t As New Test()
' Read a purchase order.
t.DeserializeObject("simple.xml")
End Sub
Private Sub DeserializeObject(filename As String)
Console.WriteLine("Reading with TextReader")
' Create an instance of the XmlSerializer specifying type.
Dim serializer As New XmlSerializer(GetType(OrderedItem))
' Create a TextReader to read the file.
Dim fs as New FileStream(filename, FileMode.OpenOrCreate)
Dim reader As New StreamReader(fs)
' Declare an object variable of the type to be deserialized.
Dim i As OrderedItem
' Use the Deserialize method to restore the object's state.
i = CType(serializer.Deserialize(reader), OrderedItem)
' Write out the properties of the object.
Console.Write(i.ItemName & ControlChars.Tab & _
i.Description & ControlChars.Tab & _
i.UnitPrice & ControlChars.Tab & _
i.Quantity & ControlChars.Tab & _
i.LineTotal)
End Sub
End Class
Poznámky
Deserializace je proces čtení instance dokumentu XML a vytvoření objektu, který je silně napsaný do schématu XML (XSD) dokumentu.
Před deserializací XmlSerializer musí být vytvořen pomocí typu objektu, který je deserializován.
Třídy, které dědí z TextReader zahrnutí StringReader a StreamReader. Pokud používáte StreamReader k deserializaci objektu, musíte vytvořit StreamReader odpovídající Encodingobjekt . Kódování určené dokumentem XML se ignoruje.
Poznámka
Pokud chcete použít kódování určené dokumentem XML, použijte Deserialize přetížení, které místo toho přebírá XmlReader . Automaticky XmlReader rozpozná a použije kódování určené dokumentem XML.
Poznámka
Nelze XmlSerializer deserializovat následující pole: pole ArrayList a pole .List<T>
Viz také
- XmlAttributes
- CanDeserialize(XmlReader)
- Serialize(TextWriter, Object)
- Představení serializace XML
- Postupy: Zadání alternativního názvu elementu pro XML stream
- Řízení serializace XML pomocí atributů
- Příklady serializace XML
- Nástroje definice schématu XML (Xsd.exe)
Platí pro
Deserialize(XmlSerializationReader)
Deserializuje dokument XML obsažený zadaným XmlSerializationReader.
protected:
virtual System::Object ^ Deserialize(System::Xml::Serialization::XmlSerializationReader ^ reader);
protected virtual object Deserialize (System.Xml.Serialization.XmlSerializationReader reader);
abstract member Deserialize : System.Xml.Serialization.XmlSerializationReader -> obj
override this.Deserialize : System.Xml.Serialization.XmlSerializationReader -> obj
Protected Overridable Function Deserialize (reader As XmlSerializationReader) As Object
Parametry
- reader
- XmlSerializationReader
Dokument XmlSerializationReader XML, který se má deserializovat.
Návraty
Deserializovaný objekt
Výjimky
Jakýkoli pokus o přístup k metodě, pokud metoda není přepsána v potomkové třídě.
Platí pro
Deserialize(XmlReader)
Deserializuje dokument XML obsažený zadaným XmlReader.
public:
System::Object ^ Deserialize(System::Xml::XmlReader ^ xmlReader);
public object Deserialize (System.Xml.XmlReader xmlReader);
public object? Deserialize (System.Xml.XmlReader xmlReader);
member this.Deserialize : System.Xml.XmlReader -> obj
Public Function Deserialize (xmlReader As XmlReader) As Object
Parametry
Návraty
Deserializováno Object .
Výjimky
Při deserializaci došlo k chybě. Původní výjimka je k dispozici pomocí InnerException vlastnosti.
Příklady
Následující příklad deserializuje objekt pomocí XmlReader.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Xml;
using namespace System::Xml::Serialization;
// This is the class that will be deserialized.
public ref class OrderedItem
{
public:
String^ ItemName;
String^ Description;
Decimal UnitPrice;
int Quantity;
Decimal LineTotal;
// A custom method used to calculate price per item.
void Calculate()
{
LineTotal = UnitPrice * Quantity;
}
};
void DeserializeObject( String^ filename )
{
Console::WriteLine( "Reading with XmlReader" );
// Create an instance of the XmlSerializer specifying type and namespace.
XmlSerializer^ serializer = gcnew XmlSerializer( OrderedItem::typeid );
// A FileStream is needed to read the XML document.
FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
XmlReader^ reader = gcnew XmlTextReader( fs );
// Declare an object variable of the type to be deserialized.
OrderedItem^ i;
// Use the Deserialize method to restore the object's state.
i = dynamic_cast<OrderedItem^>(serializer->Deserialize( reader ));
// Write out the properties of the object.
Console::Write( "{0}\t{1}\t{2}\t{3}\t{4}", i->ItemName, i->Description, i->UnitPrice, i->Quantity, i->LineTotal );
}
int main()
{
// Read a purchase order.
DeserializeObject( "simple.xml" );
}
using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
// This is the class that will be deserialized.
public class OrderedItem
{
public string ItemName;
public string Description;
public decimal UnitPrice;
public int Quantity;
public decimal LineTotal;
// A custom method used to calculate price per item.
public void Calculate()
{
LineTotal = UnitPrice * Quantity;
}
}
public class Test
{
public static void Main(string[] args)
{
Test t = new Test();
// Read a purchase order.
t.DeserializeObject("simple.xml");
}
private void DeserializeObject(string filename)
{
Console.WriteLine("Reading with XmlReader");
// Create an instance of the XmlSerializer specifying type and namespace.
XmlSerializer serializer = new
XmlSerializer(typeof(OrderedItem));
// A FileStream is needed to read the XML document.
FileStream fs = new FileStream(filename, FileMode.Open);
XmlReader reader = XmlReader.Create(fs);
// Declare an object variable of the type to be deserialized.
OrderedItem i;
// Use the Deserialize method to restore the object's state.
i = (OrderedItem)serializer.Deserialize(reader);
fs.Close();
// Write out the properties of the object.
Console.Write(
i.ItemName + "\t" +
i.Description + "\t" +
i.UnitPrice + "\t" +
i.Quantity + "\t" +
i.LineTotal);
}
}
Imports System.IO
Imports System.Text
Imports System.Xml
Imports System.Xml.Serialization
' This is the class that will be deserialized.
Public Class OrderedItem
Public ItemName As String
Public Description As String
Public UnitPrice As Decimal
Public Quantity As Integer
Public LineTotal As Decimal
' A custom method used to calculate price per item.
Public Sub Calculate()
LineTotal = UnitPrice * Quantity
End Sub
End Class
Public Class Test
Public Shared Sub Main()
Dim t As New Test()
' Read a purchase order.
t.DeserializeObject("simple.xml")
End Sub
Private Sub DeserializeObject(ByVal filename As String)
Console.WriteLine("Reading with XmlReader")
' Create an instance of the XmlSerializer specifying type and namespace.
Dim serializer As New XmlSerializer(GetType(OrderedItem))
' A FileStream is needed to read the XML document.
Dim fs As New FileStream(filename, FileMode.Open)
Dim reader As XmlReader = XmlReader.Create(fs)
' Declare an object variable of the type to be deserialized.
Dim i As OrderedItem
' Use the Deserialize method to restore the object's state.
i = CType(serializer.Deserialize(reader), OrderedItem)
fs.Close()
' Write out the properties of the object.
Console.Write(i.ItemName & ControlChars.Tab & _
i.Description & ControlChars.Tab & _
i.UnitPrice & ControlChars.Tab & _
i.Quantity & ControlChars.Tab & _
i.LineTotal)
End Sub
End Class
<?xml version="1.0"?>
<OrderedItem xmlns:inventory="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
<inventory:ItemName>Widget</inventory:ItemName>
<inventory:Description>Regular Widget</inventory:Description>
<money:UnitPrice>2.3</money:UnitPrice>
<inventory:Quantity>10</inventory:Quantity>
<money:LineTotal>23</money:LineTotal>
</OrderedItem>
Poznámky
Deserializace je proces čtení instance dokumentu XML a vytvoření objektu, který je silně napsaný do schématu XML (XSD) dokumentu.
Před deserializací XmlSerializer musí být vytvořen pomocí typu objektu, který je deserializován.
Automaticky XmlReader rozpozná a použije kódování určené dokumentem XML.
Poznámka
Nelze XmlSerializer deserializovat následující pole: pole ArrayList a pole .List<T>
Viz také
- XmlAttributes
- CanDeserialize(XmlReader)
- Serialize(TextWriter, Object)
- Představení serializace XML
- Postupy: Zadání alternativního názvu elementu pro XML stream
- Řízení serializace XML pomocí atributů
- Příklady serializace XML
- Nástroje definice schématu XML (Xsd.exe)
Platí pro
Deserialize(XmlReader, String)
Deserializuje dokument XML obsažený zadaným XmlReader a kódovacím stylem.
public:
System::Object ^ Deserialize(System::Xml::XmlReader ^ xmlReader, System::String ^ encodingStyle);
public object? Deserialize (System.Xml.XmlReader xmlReader, string? encodingStyle);
public object Deserialize (System.Xml.XmlReader xmlReader, string encodingStyle);
member this.Deserialize : System.Xml.XmlReader * string -> obj
Public Function Deserialize (xmlReader As XmlReader, encodingStyle As String) As Object
Parametry
- encodingStyle
- String
Styl kódování serializovaného XML.
Návraty
Deserializovaný objekt
Výjimky
Při deserializaci došlo k chybě. Původní výjimka je k dispozici pomocí InnerException vlastnosti.
Poznámky
Deserializace je proces čtení instance dokumentu XML a vytvoření objektu, který je silně napsaný do schématu XML (XSD) dokumentu.
Před deserializací XmlSerializer musí být vytvořen pomocí typu objektu, který je deserializován.
encodingStyle
Nastavte parametr na "http://schemas.xmlsoap.org/soap/encoding/" pro kódování SOAP verze 1.1. Jinak ho nastavte na "http://www.w3.org/2001/12/soap-encoding" pro kódování SOAP verze 1.2.
Poznámka Nelze XmlSerializer deserializovat následující pole: pole ArrayList a pole .List<T>
Viz také
- XmlAttributes
- CanDeserialize(XmlReader)
- Serialize(TextWriter, Object)
- Představení serializace XML
- Postupy: Zadání alternativního názvu elementu pro XML stream
- Řízení serializace XML pomocí atributů
- Příklady serializace XML
- Nástroje definice schématu XML (Xsd.exe)
Platí pro
Deserialize(XmlReader, XmlDeserializationEvents)
Deserializuje dokument XML obsažený zadaným XmlReader dokumentem a umožňuje přepsání událostí, ke kterým dochází během deserializace.
public:
System::Object ^ Deserialize(System::Xml::XmlReader ^ xmlReader, System::Xml::Serialization::XmlDeserializationEvents events);
public object? Deserialize (System.Xml.XmlReader xmlReader, System.Xml.Serialization.XmlDeserializationEvents events);
public object Deserialize (System.Xml.XmlReader xmlReader, System.Xml.Serialization.XmlDeserializationEvents events);
member this.Deserialize : System.Xml.XmlReader * System.Xml.Serialization.XmlDeserializationEvents -> obj
Public Function Deserialize (xmlReader As XmlReader, events As XmlDeserializationEvents) As Object
Parametry
- events
- XmlDeserializationEvents
Instance třídy XmlDeserializationEvents
Návraty
Deserializováno Object .
Poznámky
Objekt, který je deserializován.
Platí pro
Deserialize(XmlReader, String, XmlDeserializationEvents)
Deserializuje objekt pomocí dat obsažených zadaným XmlReader.
public:
System::Object ^ Deserialize(System::Xml::XmlReader ^ xmlReader, System::String ^ encodingStyle, System::Xml::Serialization::XmlDeserializationEvents events);
public object? Deserialize (System.Xml.XmlReader xmlReader, string? encodingStyle, System.Xml.Serialization.XmlDeserializationEvents events);
public object Deserialize (System.Xml.XmlReader xmlReader, string encodingStyle, System.Xml.Serialization.XmlDeserializationEvents events);
member this.Deserialize : System.Xml.XmlReader * string * System.Xml.Serialization.XmlDeserializationEvents -> obj
Public Function Deserialize (xmlReader As XmlReader, encodingStyle As String, events As XmlDeserializationEvents) As Object
Parametry
- encodingStyle
- String
Používá se kódování.
- events
- XmlDeserializationEvents
Instance třídy XmlDeserializationEvents
Návraty
Objekt, který je deserializován.
Poznámky
Tato metoda se vyžaduje pouze pro deserializaci neznámých hlaviček pro scénáře webové služby. Tato metoda umožňuje vyhnout se synchronizaci událostí v metodách webové služby.