C# 远程winforms应用程序中的调用方法?

C# 远程winforms应用程序中的调用方法?,c#,winforms,navision,dynamics-nav,C#,Winforms,Navision,Dynamics Nav,因为我以前从未有过这样做的理由,我不知道如何做下面的事情,或者这是否可能 我有一个C#winforms单实例应用程序(Slave),上面有一个控件,使用自定义的.Net控件显示计划数据。应用程序需要从DynamicsNAV/Navision(Master)打开,因为这无法使用正在使用的控件 一旦主应用程序打开从应用程序,它需要传递一个参数,以便从应用程序可以收集并显示正确的数据。我知道我可以将其作为命令行参数传递,但我们真正想做的是将其传递到一个方法中,以便我们可以在需要时随时更新从属计划。我已

因为我以前从未有过这样做的理由,我不知道如何做下面的事情,或者这是否可能

我有一个C#winforms单实例应用程序(Slave),上面有一个控件,使用自定义的.Net控件显示计划数据。应用程序需要从DynamicsNAV/Navision(Master)打开,因为这无法使用正在使用的控件

一旦主应用程序打开从应用程序,它需要传递一个参数,以便从应用程序可以收集并显示正确的数据。我知道我可以将其作为命令行参数传递,但我们真正想做的是将其传递到一个方法中,以便我们可以在需要时随时更新从属计划。我已经在从属应用程序中创建了一个公共方法,但现在我仍然无法确定如何打开它并调用该方法。我想得到一个使用winforms主应用程序的工作示例,但也无法实现

有人能提供任何建议或帮助吗

谢谢,
Karl

是的,您可以做到这一点-通常称为“进程间通信”

有许多可用的方法,但只要您使用.NET3.5或更高版本,就应该使用WCF(WindowsCommunicationFoundation)来实现这一点。互联网上有许多关于WCF的指南和介绍


如果您使用的是3.5之前的.Net版本,请查看。

以任何形式发送数据(命令参数、文件、TCP/IP套接字等)怎么样,解析数据并调用使用从分离创建的参数创建的命令?

如果您使用的是Dynamics NAV 6 R2和角色定制客户端,您可以使用它调用WinForms应用程序上的方法。如果您使用的是经典客户端,那么您需要实现一个COM组件来完成同样的任务


在这种情况下,WinForms应用程序是“服务器”,NAV是“客户端”。您可以通过MSDN上的IPCConnel看到一个示例,说明这可能是如何工作的。

downvote有什么用?有什么方法可以改进这个答案吗?