C# 托管WCF服务调用WinForm

C# 托管WCF服务调用WinForm,c#,winforms,wcf,C#,Winforms,Wcf,我有一个C#WinForms应用程序,它承载着一个WCF服务。当我从另一个应用程序调用此服务时,我希望WCF服务中的方法调用表单上的方法。我可以使用Form.ActiveForm,但这似乎不是一个好方法。从托管WCF服务调用表单的最佳方式是什么?您可以使用事件。表单注册到事件,而服务触发事件我在StackOverflow的其他地方找到了更好的解决方案。在发布我的问题之前,我已经在这里搜索过了,但是错过了这个问题 这很好用,所以我想在这里更新一下。如何创建WCF主机和主窗体?在那里,有一个属性,

我有一个C#WinForms应用程序,它承载着一个WCF服务。当我从另一个应用程序调用此服务时,我希望WCF服务中的方法调用表单上的方法。我可以使用Form.ActiveForm,但这似乎不是一个好方法。从托管WCF服务调用表单的最佳方式是什么?

您可以使用事件。表单注册到事件,而服务触发事件

我在StackOverflow的其他地方找到了更好的解决方案。在发布我的问题之前,我已经在这里搜索过了,但是错过了这个问题


这很好用,所以我想在这里更新一下。

如何创建WCF主机和主窗体?在那里,有一个属性,可能是合适的。你介意扩展一下吗?因为我对这篇关于codeproject:演示如何创建一个简单的自定义事件的文章比较陌生。“Listener”类将是您的表单,“Metronome”类将是您的WCF服务我知道如何为表单做到这一点,但我不知道它如何为WCF服务工作。我使用NetTcpBinding=new NetTcpBinding()创建服务;主机=新的服务主机(typeof(MyService),baseAddress);AddServiceEndpoint(typeof(IMyService)、binding、baseAddress);host.Open();因此,在这一点上,我不知道如何告诉表单订阅它。当然,WCF会在接到呼叫时创建MyService,如果我决定这样做,这可能是基于PerCall的。