在wcf服务中异步调用事件

时间:2014-11-25 17:35:30

标签: c# multithreading events

我正在实施第三方服务以获取一些Feed。示例代码如下。 当我调用GetLiveFeed函数时,响应通过事件HandleEvent返回。

public class WebComponent
{
    public string livefeed = string.Empty;

    public static string GetSerivceRequest()
    {
        WebComponent obj = new WebComponent();
        obj.GetResult();

        return obj.livefeed;
    }

    public void GetResult()
    {
        Service abc = new Service();
        abc.GetLiveFeed();
    }

    public void HandleEvent(Event eventObj)
    {
        livefeed = "Value from third party service";
    }

}

我想在静态函数Getservice中等待,直到引发事件并在livefeed变量中赋值。 但截至目前,我只是空白价值。如果我把thread.sleep放到我得到的价值而不是我想要使用

1 个答案:

答案 0 :(得分:0)

我能够让父线程等到使用AutoresetEvent功能在子线程中执行完毕

Tutorial