在新的消息循环线程下运行WCF双工Web服务客户端

时间:2017-10-20 09:52:33

标签: c#

我需要在线程中的新消息循环下运行WCF双工客户端连接,到目前为止我已经实现了以下内容:

public class RoomOpen
{
    public static bool Main(Data oSystem)
    {
        Thread STA5050Thread = new Thread(() =>
        {
            Application.Run();
            var oring = new FXBackgroundLoader(oSystem.GetSystem());

        });

        STA5050Thread.SetApartmentState(ApartmentState.STA);
        STA5050Thread.IsBackground = true;
        STA5050Thread.Start();

        return true;
    }
}

这里的问题是:

A - 永远不会调用应在FXBackgroundLoader()下启动的客户端连接,建立此连接,然后不断发送ping,以便线程启动并保持打开状态。

B - 应用程序几乎立即返回true。

我最终需要的是一个WCF双工客户端连接,它可以在当前线程的新消息循环下运行,但保持线程打开而不会阻塞它。

我以前取得成功的一种方法是在Application.Run(new form())下打开一个Windows窗体,然后在窗体中弹出客户端连接的所有代码,这是狂热地运行但不是由于我项目的其他变化,可能性更长。

有没有人知道我的实施问题是什么和/或我如何更好地实现我的要求?

0 个答案:

没有答案