Bonjour à tous,

J'ai créé un service WCF des plus basique.

IHelloWorldServiceCallback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
[ServiceContract]
public interface IHelloWorldServiceCallback
{
    [OperationContract(IsOneWay = true)]
    void sayHelloResultCallback(string message);
 
    [OperationContract(IsOneWay = true)]
    void sayHelloFailureCallback(Exception e);
}
IHelloWorldService
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
[ServiceContract(CallbackContract=typeof(IHelloWorldServiceCallback))]
public interface IHelloWorldService
{
    [OperationContract(IsOneWay=true)]
    void sayHello();
}
HelloWorldService
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
public class HelloWorldService : IHelloWorldService
{
    public void sayHello()
    {
        IHelloWorldServiceCallback callback = OperationContext.Current.GetCallbackChannel<IHelloWorldServiceCallback>();
 
        try
        {
            callback.sayHelloResultCallback("Hello World");
        }
        catch (Exception e)
        {
            callback.sayHelloFailureCallback(e);
        }
    }
}
J'essaie de créer un client web pour ce service.
J'ai créé une page aspx en y insérant un seul label ayant l'ID "Label1".

Voici le code de ma page aspx.cs
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
public partial class _Default : System.Web.UI.Page, IHelloWorldServiceCallback
{
    protected void Page_Load(object sender, EventArgs e)
    {
        HelloWorldServiceClient service = new HelloWorldServiceClient(new InstanceContext(this));
        service.sayHello();
    }
 
    public void sayHelloFailureCallback(Exception e)
    {
        Label1.Text = e.Message;
    }
 
    public void sayHelloResultCallback(string message)
    {
        Label1.Text = message;
    }
}
Mon problème est que mon label reste toujours vide alors que le système passe bien par la méthode "sayHelloResultCallback". (je l'ai testé avec un point d'arrêt)

D'ou vient ce problème ?