UploadFileCompletedEventHandler Delegato
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta il metodo che gestirà l'evento UploadFileCompleted di un oggetto WebClient.
public delegate void UploadFileCompletedEventHandler(System::Object ^ sender, UploadFileCompletedEventArgs ^ e);
public delegate void UploadFileCompletedEventHandler(object sender, UploadFileCompletedEventArgs e);
type UploadFileCompletedEventHandler = delegate of obj * UploadFileCompletedEventArgs -> unit
Public Delegate Sub UploadFileCompletedEventHandler(sender As Object, e As UploadFileCompletedEventArgs)
Parametri
- sender
- Object
Origine dell'evento.
UploadFileCompletedEventArgs in cui sono contenuti i dati dell'evento.
Esempio
Nell'esempio di codice seguente viene illustrato il caricamento asincrono di un file.
// Sample call: UploadFileInBackground("http://www.contoso.com/fileUpload.aspx", "data.txt")
void UploadFileInBackground( String^ address, String^ fileName )
{
System::Threading::AutoResetEvent^ waiter = gcnew System::Threading::AutoResetEvent( false );
WebClient^ client = gcnew WebClient;
Uri ^uri = gcnew Uri(address);
String^ method = "POST";
// Specify that that UploadFileCallback method gets called
// when the file upload completes.
client->UploadFileCompleted += gcnew UploadFileCompletedEventHandler( UploadFileCallback );
client->UploadFileAsync( uri, method, fileName, waiter );
// Block the main application thread. Real applications
// can perform other tasks while waiting for the upload to complete.
waiter->WaitOne();
Console::WriteLine( "File upload is complete." );
}
// Sample call: UploadFileInBackground("http://www.contoso.com/fileUpload.aspx", "data.txt")
public static void UploadFileInBackground(string address, string fileName)
{
System.Threading.AutoResetEvent waiter = new System.Threading.AutoResetEvent(false);
WebClient client = new WebClient();
Uri uri = new Uri(address);
string method = "POST";
// Specify that that UploadFileCallback method gets called
// when the file upload completes.
client.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCallback);
client.UploadFileAsync(uri, method, fileName, waiter);
// Block the main application thread. Real applications
// can perform other tasks while waiting for the upload to complete.
waiter.WaitOne();
Console.WriteLine("File upload is complete.");
}
' Sample call: UploadFileInBackground("http:' www.contoso.com/fileUpload.aspx", "data.txt")
Public Shared Sub UploadFileInBackground(ByVal address As String, ByVal fileName As String)
Dim waiter As System.Threading.AutoResetEvent = New System.Threading.AutoResetEvent(False)
Dim client As WebClient = New WebClient()
Dim method As String = "POST"
Dim uri as Uri = New Uri(address)
' Specify that that UploadFileCallback method gets called
' when the file upload completes.
AddHandler client.UploadFileCompleted, AddressOf UploadFileCallback
client.UploadFileAsync(uri, method, fileName, waiter)
' Block the main application thread. Real applications
' can perform other tasks while waiting for the upload to complete.
waiter.WaitOne()
Console.WriteLine("File upload is complete.")
End Sub
Al termine del caricamento viene chiamato il metodo seguente.
void UploadFileCallback( Object^ /*sender*/, UploadFileCompletedEventArgs^ e )
{
System::Threading::AutoResetEvent^ waiter = dynamic_cast<System::Threading::AutoResetEvent^>(e->UserState);
;
try
{
String^ reply = System::Text::Encoding::UTF8->GetString( e->Result );
Console::WriteLine( reply );
}
finally
{
// If this thread throws an exception, make sure that
// you let the main application thread resume.
waiter->Set();
}
}
private static void UploadFileCallback(Object sender, UploadFileCompletedEventArgs e)
{
System.Threading.AutoResetEvent waiter = (System.Threading.AutoResetEvent)e.UserState; ;
try
{
string reply = System.Text.Encoding.UTF8.GetString(e.Result);
Console.WriteLine(reply);
}
finally
{
// If this thread throws an exception, make sure that
// you let the main application thread resume.
waiter.Set();
}
}
Private Shared Sub UploadFileCallback(ByVal sender As Object, ByVal e As System.Net.UploadFileCompletedEventArgs)
Dim waiter As System.Threading.AutoResetEvent = CType(e.UserState, System.Threading.AutoResetEvent)
Try
Dim reply As String = System.Text.Encoding.UTF8.GetString(e.Result)
Console.WriteLine(reply)
Finally
' If this thread throws an exception, make sure that
' you let the main application thread resume.
waiter.Set()
End Try
End Sub
Commenti
Quando si crea un delegato UploadFileCompletedEventHandler, si identifica il metodo che gestirà l'evento. Per associare l'evento al gestore eventi in uso, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non venga rimosso il delegato. Per altre informazioni sui delegati del gestore eventi, vedere Gestione e generazione di eventi.
Metodi di estensione
GetMethodInfo(Delegate) |
Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato. |