【问题标题】:Hosted WCF Service Calling WinForm [duplicate]托管 WCF 服务调用 WinForm [重复]
【发布时间】:2015-07-07 15:14:18
【问题描述】:

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

【问题讨论】:

  • 如何创建 WCF 主机和主窗体?在那里,有一个属性,可能是合适的

标签: c# winforms wcf


【解决方案1】:

你可以使用事件。当服务触发事件时,表单注册到事件

【讨论】:

  • 由于我对 C# 比较陌生,您介意扩展一下吗
  • codeproject 上的这篇文章:codeproject.com/Articles/11541/… 展示了如何创建一个简单的自定义事件。 “Listener”类将是您的形式,“Metronome”类将是您的 WCF 服务
  • 我知道如何为表单执行此操作,但我不知道它如何用于 WCF 服务。我使用 NetTcpBinding binding = new NetTcpBinding(); 创建服务host = new ServiceHost(typeof(MyService), baseAddress); host.AddServiceEndpoint(typeof(IMyService), binding, baseAddress);host.Open();因此,那时我不知道如何告诉表单订阅它。 WCF 肯定会在调用进入时创建 MyService,如果我决定走那条路线,这可能是基于 PerCall。
【解决方案2】:

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

How can a self-hosted (WinForm ) WCF service interact with the main form?

这很好,所以我想我会在这里更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 2014-07-16
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多