WebClient.OpenReadCompleted Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kaynak içeren bir akışı açmak için zaman uyumsuz bir işlem tamamlandığında gerçekleşir.
public:
event System::Net::OpenReadCompletedEventHandler ^ OpenReadCompleted;
public event System.Net.OpenReadCompletedEventHandler? OpenReadCompleted;
public event System.Net.OpenReadCompletedEventHandler OpenReadCompleted;
member this.OpenReadCompleted : System.Net.OpenReadCompletedEventHandler
Public Custom Event OpenReadCompleted As OpenReadCompletedEventHandler
Public Event OpenReadCompleted As OpenReadCompletedEventHandler
Olay Türü
Örnekler
Aşağıdaki kod örneği, bu olay için bir olay işleyicisi ayarlamayı gösterir.
void OpenResourceForReading2( String^ address )
{
WebClient^ client = gcnew WebClient;
Uri ^uri = gcnew Uri(address);
client->OpenReadCompleted += gcnew OpenReadCompletedEventHandler( OpenReadCallback2 );
client->OpenReadAsync( uri );
}
public static void OpenResourceForReading2(string address)
{
WebClient client = new WebClient();
Uri uri = new Uri(address);
client.OpenReadCompleted += new OpenReadCompletedEventHandler(OpenReadCallback2);
client.OpenReadAsync(uri);
}
Public Shared Sub OpenResourceForReading2(ByVal address As String)
Dim client As WebClient = New WebClient()
AddHandler client.OpenReadCompleted, AddressOf OpenReadCallback2
Dim uri as Uri = New Uri(address)
client.OpenReadAsync(uri)
End Sub
Aşağıdaki kod örneği, bu olay için bir işleyicinin uygulamasını gösterir.
void OpenReadCallback2( Object^ /*sender*/, OpenReadCompletedEventArgs^ e )
{
Stream^ reply = nullptr;
StreamReader^ s = nullptr;
try
{
reply = dynamic_cast<Stream^>(e->Result);
s = gcnew StreamReader( reply );
Console::WriteLine( s->ReadToEnd() );
}
finally
{
if ( s != nullptr )
{
s->Close();
}
if ( reply != nullptr )
{
reply->Close();
}
}
}
private static void OpenReadCallback2(Object sender, OpenReadCompletedEventArgs e)
{
Stream reply = null;
StreamReader s = null;
try
{
reply = (Stream)e.Result;
s = new StreamReader(reply);
Console.WriteLine(s.ReadToEnd());
}
finally
{
if (s != null)
{
s.Close();
}
if (reply != null)
{
reply.Close();
}
}
}
Private Shared Sub OpenReadCallback2(ByVal sender As Object, ByVal e As OpenReadCompletedEventArgs)
Dim reply As Stream = Nothing
Dim s As StreamReader = Nothing
Try
reply = CType(e.Result, Stream)
s = New StreamReader(reply)
Console.WriteLine(s.ReadToEnd())
Finally
If Not s Is Nothing Then
s.Close()
End If
If Not reply Is Nothing Then
reply.Close()
End If
End Try
End Sub
Açıklamalar
Dikkat
WebRequest
, HttpWebRequest
, ServicePoint
ve WebClient
kullanım dışıdır ve bunları yeni geliştirme için kullanmamalısınız. Bunun yerine HttpClient kullanın.
Bu olay, kaynak içeren bir akışı açmak için zaman uyumsuz bir işlem her tamamlandığında oluşturulur. Bu işlemler OpenReadAsync yöntemleri çağrılarak başlatılır.
OpenReadCompletedEventHandler bu olayın temsilcisidir. OpenReadCompletedEventArgs sınıfı, olay işleyicisine olay verilerini sağlar.
Olayları işleme hakkında daha fazla bilgi için bkz. olayları işleme ve oluşturma.