【发布时间】:2008-10-24 03:04:34
【问题描述】:
用 C# 将数据从一个 Windows 窗体应用程序(Office 插件)传递到另一个(用 C# 编写的 exe)的最佳方式是什么?
【问题讨论】:
用 C# 将数据从一个 Windows 窗体应用程序(Office 插件)传递到另一个(用 C# 编写的 exe)的最佳方式是什么?
【问题讨论】:
我会猛烈抨击并说您可能希望办公应用程序打电话回家到您的 exe?在这种情况下,“exe”是服务器,而 office 应用程序是客户端。
如果您使用的是 .NET 3.0,WCF 可能是您的最佳选择。我将解决方案分为三个部分:
“exe”和“plugin”都需要定义绑定的配置文件。
当您想在客户端和服务器之间传递数据时,您的客户端将从“共享合同”程序集中创建一个对象并将其传递给服务客户端。客户端的配置文件会确定数据发送到哪里。
有关如何创建基本 WCF 服务的分步教程,check out this Tutorial。
【讨论】:
是的。 WCF 是要走的路。我建议查看 iDesign.net 以使用 InProcFactory 类。您可以将您的办公室类填充到服务中并调用托管服务的其他应用程序。然后,其他服务可以回调到基于办公室的服务。
您可以使用 IPC 端点,这将使通信迅速。
-斯科特
【讨论】:
WCF 是最简单的方法之一。您可以在每个应用程序中注册一个服务端点,或者如果一个是服务而另一个是客户端,您可以只使用一个服务主机。
【讨论】:
有很多方法可以实现这一点。我过去使用过命名管道。对命名管道的支持现在也内置在 .NET 中(根据 3.0?),所以它相当简单。
【讨论】:
【讨论】: