SoapFormatter コンストラクタ (ISurrogateSelector, StreamingContext)
アセンブリ: System.Runtime.Serialization.Formatters.Soap (system.runtime.serialization.formatters.soap.dll 内)

Dim selector As ISurrogateSelector Dim context As StreamingContext Dim instance As New SoapFormatter(selector, context)

オブジェクトは、指定した Stream を使用してシリアル化または逆シリアル化されます。
シリアル化処理または逆シリアル化処理では、指定した ISurrogateSelector を使用して、逆シリアル化するオブジェクト型用に登録されているサロゲートを検索します。サロゲートは、特定のクラスのオブジェクトをシリアル化および逆シリアル化するためのヘルパです。既定の ISurrogateSelector では、MarshalByRefObject から派生したオブジェクトをリモート処理の目的でシリアル化することはできません。リモート処理を行う場合は、指定した ISurrogateSelector が、MarshalByRefObject から派生したオブジェクトを、指定したサロゲート セレクタによってシリアル化された ObjRef オブジェクトに置換します。つまり、リモート オブジェクトを使用する場合は、selector パラメータに RemotingSurrogateSelector のインスタンスを設定します。サロゲートが不要な場合は、selector パラメータを null 参照 (Visual Basic では Nothing) に設定します。


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SoapFormatter コンストラクタ

名前 | 説明 |
---|---|
SoapFormatter () | SoapFormatter クラスの新しいインスタンスを既定のプロパティ値で初期化します。 |
SoapFormatter (ISurrogateSelector, StreamingContext) | 指定した ISurrogateSelector と StreamingContext を使用して、SoapFormatter クラスの新しいインスタンスを初期化します。 |

SoapFormatter コンストラクタ ()
アセンブリ: System.Runtime.Serialization.Formatters.Soap (system.runtime.serialization.formatters.soap.dll 内)



Imports System.IO Imports System.Collections Imports System.Runtime.Serialization ' Note: When building this code, you must reference the ' System.Runtime.Serialization.Formatters.Soap.dll assembly. Imports System.Runtime.Serialization.Formatters.Soap Module App Sub Main() Serialize() Deserialize() End Sub Sub Serialize() ' Create a hashtable of values that will eventually be serialized. Dim addresses As 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. Dim fs As New FileStream("DataFile.soap", FileMode.Create) ' Construct a SoapFormatter and use it ' to serialize the data to the stream. Dim formatter As New SoapFormatter Try formatter.Serialize(fs, addresses) Catch e As SerializationException Console.WriteLine("Failed to serialize. Reason: " & e.Message) Throw Finally fs.Close() End Try End Sub Sub Deserialize() ' Declare the hashtable reference. Dim addresses As Hashtable = Nothing ' Open the file containing the data that you want to deserialize. Dim fs As New FileStream("DataFile.soap", FileMode.Open) Try Dim formatter As New SoapFormatter ' Deserialize the hashtable from the file and ' assign the reference to the local variable. addresses = DirectCast(formatter.Deserialize(fs), Hashtable) Catch e As SerializationException Console.WriteLine("Failed to deserialize. Reason: " & e.Message) Throw Finally fs.Close() End Try ' To prove that the table deserialized correctly, ' display the key/value pairs to the console. Dim de As DictionaryEntry For Each de In addresses Console.WriteLine("{0} lives at {1}.", de.Key, de.Value) Next End Sub End Module
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); } } }
#using <system.dll> #using <system.runtime.serialization.formatters.soap.dll> using namespace System; using namespace System::IO; using namespace System::Collections; using namespace System::Runtime::Serialization; using namespace System::Runtime::Serialization::Formatters::Soap; void Serialize() { // Create a hashtable of values that will eventually be serialized. Hashtable^ addresses = gcnew 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 keys/values), // you must first open a stream for writing. // We will use a file stream here. FileStream^ fs = gcnew FileStream( "DataFile.soap",FileMode::Create ); // Construct a SoapFormatter and use it // to serialize the data to the stream. SoapFormatter^ formatter = gcnew SoapFormatter; try { formatter->Serialize( fs, addresses ); } catch ( SerializationException^ e ) { Console::WriteLine( "Failed to serialize. Reason: {0}", e->Message ); throw; } finally { fs->Close(); } } void Deserialize() { // Declare the hashtable reference. Hashtable^ addresses = nullptr; // Open the file containing the data that we want to deserialize. FileStream^ fs = gcnew FileStream( "DataFile.soap",FileMode::Open ); try { SoapFormatter^ formatter = gcnew SoapFormatter; // Deserialize the hashtable from the file and // assign the reference to our local variable. addresses = dynamic_cast<Hashtable^>(formatter->Deserialize( fs )); } catch ( SerializationException^ e ) { Console::WriteLine( "Failed to deserialize. Reason: {0}", e->Message ); throw; } finally { fs->Close(); } // To prove that the table deserialized correctly, // display the keys/values to the console. IEnumerator^ myEnum = addresses->GetEnumerator(); while ( myEnum->MoveNext() ) { DictionaryEntry^ de = safe_cast<DictionaryEntry^>(myEnum->Current); Console::WriteLine( " {0} lives at {1}.", de->Key, de->Value ); } } [STAThread] int main() { Serialize(); Deserialize(); }
import System.*; import System.IO.*; import System.Collections.*; import System.Runtime.Serialization.*; // Note: When building this code, you must reference the // System.Runtime.Serialization.Formatters.Soap.dll assembly. import System.Runtime.Serialization.Formatters.Soap.*; class App { /** @attribute STAThread() */ public static void main(String[] args) throws SerializationException { Serialize(); Deserialize(); } //main static void Serialize() throws SerializationException { // 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.get_Message()); throw e; } finally { fs.Close(); } } //Serialize static void Deserialize() throws SerializationException { // 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.get_Message()); throw e; } finally { fs.Close(); } // To prove that the table deserialized correctly, // display the key/value pairs to the console. IEnumerator myEnumerator = addresses.GetEnumerator(); while (myEnumerator.MoveNext()) { DictionaryEntry de = (DictionaryEntry)myEnumerator.get_Current(); Console.WriteLine("{0} lives at {1}.", de.get_Key(), de.get_Value()); } } //Deserialize } //App


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SoapFormatter コンストラクタのページへのリンク