Bonjour
J'essaye d'utiliser ce code trouvé ici-même pour télécharger des pages web de manière asynchrone afin de ne pas bloquer l'interface.
Comme je débute, c'est une question basique mais je ne trouve pas la bonne syntaxe (en bleu) pour créer un nouvel objet et lancer les choses :-/
Merci pour toute aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 Imports System.Net Imports System.IO Imports System.Text Imports System.Text.RegularExpressions Imports System.Threading.Thread Imports System.Windows.Forms Public Class RequestState Public Request As HttpWebRequest Public Sub New() Request = Nothing End Sub End Class Public Class GetHttpAsync Public Sub GetPage(ByVal url As String) Dim req As HttpWebRequest req = CType(WebRequest.Create(url), HttpWebRequest) Dim rs As New RequestState rs.Request = req req.BeginGetResponse(New AsyncCallback(AddressOf ResponseCallback), rs) End Sub Private Shared Sub ResponseCallback(ByVal ar As IAsyncResult) Dim rs As RequestState = CType(ar.AsyncState, RequestState) Dim req As HttpWebRequest = rs.Request Dim resp As HttpWebResponse = CType(req.EndGetResponse(ar), HttpWebResponse) Dim responseStream As Stream = resp.GetResponseStream() Dim sr As StreamReader = New StreamReader(responseStream, Encoding.UTF8) Dim strContent As String = sr.ReadToEnd() responseStream.Close() End Sub End Class Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'BAD Dim MyGetHTTP As GetHttpAsync = New GetHttpAsync 'BAD Dim MyGetHTTP As GetHttpAsync = GetHttpAsync 'Reference to a non-shared member requires an object reference GetHttpAsync.GetPage("http://www.google.com") End Sub End Class
Partager