SoapMessageStage Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan tahap pemrosesan pesan SOAP.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- Warisan
Bidang
AfterDeserialize | 8 | Tahap tepat setelah SoapMessage dideserialisasi dari pesan SOAP ke dalam objek. |
AfterSerialize | 2 | Tahap tepat setelah diserialisasikan SoapMessage , tetapi sebelum pesan SOAP dikirim melalui kabel. |
BeforeDeserialize | 4 | Tahap tepat sebelum SoapMessage dideserialisasi dari pesan SOAP yang dikirim ke seluruh jaringan ke dalam objek. |
BeforeSerialize | 1 | Tahap hanya sebelum diserialisasikan SoapMessage . |
Contoh
Contoh berikut adalah fragmen ekstensi SOAP, yang mengimplementasikan metode .ProcessMessage ProcessMessage Dalam metode , pemrosesan ditangani SoapMessage khusus untuk SoapMessageStage.
// Process the SOAP message received and write to log file.
void ProcessMessage( SoapMessage^ message )
{
switch ( message->Stage )
{
case SoapMessageStage::BeforeSerialize:
break;
case SoapMessageStage::AfterSerialize:
WriteOutput( message );
break;
case SoapMessageStage::BeforeDeserialize:
WriteInput( message );
break;
case SoapMessageStage::AfterDeserialize:
break;
default:
throw gcnew Exception( "invalid stage" );
}
}
// Process the SOAP message received and write to log file.
public override void ProcessMessage(SoapMessage message)
{
switch (message.Stage)
{
case SoapMessageStage.BeforeSerialize:
break;
case SoapMessageStage.AfterSerialize:
WriteOutput( message );
break;
case SoapMessageStage.BeforeDeserialize:
WriteInput( message );
break;
case SoapMessageStage.AfterDeserialize:
break;
default:
throw new Exception("invalid stage");
}
}
' Process the SOAP message received and write to log file.
Public Overrides Sub ProcessMessage(message As SoapMessage)
Select Case message.Stage
Case SoapMessageStage.BeforeSerialize
Case SoapMessageStage.AfterSerialize
WriteOutput(message)
Case SoapMessageStage.BeforeDeserialize
WriteInput(message)
Case SoapMessageStage.AfterDeserialize
Case Else
Throw New Exception("invalid stage")
End Select
End Sub
Keterangan
ASP.NET menyediakan mekanisme ekstensibilitas untuk memanggil Layanan Web menggunakan SOAP. Mekanisme ekstensibilitas berputar di sekitar SoapExtension yang dapat memeriksa atau memodifikasi pesan pada tahap tertentu dalam pemrosesan pesan pada klien atau server. Enumerasi ini menentukan tahap SoapMessagepemrosesan .
Tabel berikut menunjukkan kapan setiap tahap terjadi selama pemrosesan klien dan server SOAP.
SoapMessageStage |
Selama SoapClientMessage pemrosesan | Selama SoapServerMessage pemrosesan |
---|---|---|
AfterDeserialize |
Terjadi setelah pesan SOAP yang berisi respons dari pemanggilan metode layanan Web XML telah dideserialisasi ke dalam objek, tetapi sebelum klien menerima hasil yang dideserialisasi. | Terjadi setelah permintaan jaringan yang berisi pesan SOAP yang mewakili pemanggilan metode layanan Web XML dideserialisasi ke dalam objek, tetapi sebelum metode pada objek yang mewakili metode layanan Web XML dipanggil. |
AfterSerialize |
Terjadi setelah klien memanggil metode layanan Web XML dan parameter diserialisasikan ke dalam XML, tetapi sebelum pesan SOAP yang berisi XML tersebut dikirim melalui jaringan. | Terjadi setelah metode layanan Web XML mengembalikan dan nilai pengembalian apa pun diserialisasikan ke dalam XML, tetapi sebelum pesan SOAP yang berisi XML dikirim melalui jaringan. |
BeforeDeserialize |
Terjadi setelah respons jaringan dari pemanggilan metode layanan Web XML telah diterima, tetapi tepat sebelum respons yang berisi pesan SOAP dideserialisasi ke dalam objek. | Terjadi setelah permintaan jaringan yang berisi pesan SOAP untuk pemanggilan metode layanan Web XML diterima oleh server Web, tetapi sebelum pesan SOAP dideserialisasi ke dalam objek. |
BeforeSerialize |
Terjadi setelah klien memanggil metode layanan Web XML, tetapi sebelum pemanggilan diserialisasikan. | Terjadi setelah pemanggilan ke metode layanan Web XML kembali, tetapi sebelum nilai pengembalian diserialisasikan dan dikirim melalui kawat kembali ke klien. |