我需要在线程中的新消息循环下运行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窗体,然后在窗体中弹出客户端连接的所有代码,这是狂热地运行但不是由于我项目的其他变化,可能性更长。
有没有人知道我的实施问题是什么和/或我如何更好地实现我的要求?