Bonjour,
J'ai une page aspx ou je devrais faire un appel au service WCF de maniere asychrone. J'ai bien généré ma classe proxy avec l'option asynchrone.
Dans ma page, l'appel se fait bien de maniere asynchrone en cliquant sur un bouton. Cependant, la page est toujours en cours de chargement malgré tout. Comment faire pour rendre la main à l'utilisateur?
J'ai bien essayé avec un update panel de la maniere suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <asp:UpdatePanel runat="server" ID="upPanel" ChildrenAsTriggers="false" UpdateMode="Conditional"> <ContentTemplate> <asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Click" /> <asp:Label runat="server" ID="lbtest" /> </ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID="Button1" /> </Triggers> </asp:UpdatePanel>Mais rien à faire ... lorsque je clique sur le click, je charge toute la page... Une idée?
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 protected void Button1_Click(object sender, EventArgs e) { PageAsyncTask pat = new PageAsyncTask(BeginFileRetrieveAsync, EndFileRetrieveAsync, null, null); Page.RegisterAsyncTask(pat); } IAsyncResult BeginFileRetrieveAsync(object sender, EventArgs e, AsyncCallback acb, object extraData) { ServiceProxy<IService> service = new ServiceProxy<IService>("WSHttpBinding_IService"); return service.Proxy.BeginGetNbParameters("123", acb, extraData); } void EndFileRetrieveAsync(IAsyncResult ar) { lbtest.Text = "ok"; }
Partager