相关疑难解决方法(0)

远程处理或WCF用于新开发(在同一台机器上的两个.NET应用程序之间)使用接口?

我们希望在同一台机器上运行两个.NET应用程序相互通信.我们想要三个项目.包含接口的库.实现接口的"服务器"应用程序和使用接口与服务器通信的"客户端"应用程序.我们不希望客户端引用服务器.
我们有一个测试应用程序使用远程处理,但最近发现远程处理正在被WCF取代.由于这是新的开发,我们觉得我们应该使用WCF,但我们还没有设法使它与WCF一起使用并且想知道它是否可能?


编辑:

很抱歉我上面没有详细信息,但我当时无法访问任何代码.我正和另外两个人一起参与这个项目,并没有密切关注他们的IPC内容.我知道他们目前认为WCF无法做他们想做的事情,我希望能够向他们展示它可以.

我已经开始关注我的同事尝试,并将继续按照我的理解更新这篇文章.

下面是他们用于远程处理的测试代码的简化版本.他们希望能够使用WCF执行此操作,但到目前为止还无法使其工作.

ServiceApp和ClientApp程序集都引用Lib程序集.他们没有互相参考.

当我能够更好地解释他们在WCF中复制此行为的尝试时,我将再次编辑它.此时我真正知道的是,他们正在使用NetNamedPipeBinding并且客户端应用程序遇到问题,因为它无法访问服务程序集.


编辑:

下面是WCF测试代码的简化版本.

ClientProgram的以下行引发异常:

IMessage msg2 = service.CreateMessage("Hello World");
Run Code Online (Sandbox Code Playgroud)

这是一个例外:

Could not load file or assembly 'ServiceApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

编辑:

在试图理解史蒂文的最新评论时,我用谷歌搜索了IMetadataExchange,这当然是第一次点击MSDN页面.这个页面说:

无需在服务实现中实现MetadataReference协定.而是将ServiceMetadataBehavior添加到服务描述中.

或者,在使用配置时,将端点元素的contract属性设置为IMetadataExchange.有关示例,请参见如何:使用配置文件发布服务的元数据.

有关在WCF中发布元数据的详细信息,请参阅发布元数据.

因为,对于此示例,我不使用配置文件,而是选择转到" 发布元数据"链接.从那里我去了如何:使用代码发布服务的元数据链接,这个例子我用来修改我的服务应用程序代码.添加的代码在第15-20行.

我做了一点工作后就能添加服务参考.该服务必须正在运行,但如果您通过Visual …

.net c# wcf remoting

11
推荐指数
2
解决办法
2333
查看次数

标签 统计

.net ×1

c# ×1

remoting ×1

wcf ×1