Tag: remoting

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

我们希望在同一台机器上运行两个.NET应用程序相互通信。 我们想要三个项目。 包含接口的库。 实现接口的“服务器”应用程序和使用接口与服务器通信的“客户端”应用程序。 我们不希望客户端引用服务器。 我们有一个测试应用程序使用远程处理,但最近发现远程处理正在被WCF取代。 由于这是新的开发,我们觉得我们应该使用WCF,但是我们还没有设法使它与WCF一起使用并且想知道它是否可能? 编辑: 很抱歉我上面没有详细信息,但我当时无法访问任何代码。 我正与这个项目的另外两个人一起工作,并没有密切关注他们的IPC内容。 我知道他们目前认为WCF无法做他们想做的事情,我希望能够向他们展示它可以。 我已经开始关注我的同事尝试,并将继续按照我的理解更新这篇文章。 下面是他们用于远程处理的测试代码的简化版本。 他们希望能够使用WCF执行此操作,但到目前为止还无法使其工作。 Lib \ IMessage.cs Lib \ IService.cs ServiceApp \ Service.cs ServiceApp \ ServiceMessage.cs ServiceApp \ ServiceProgram.cs ClientApp \ ClientProgram.cs ServiceApp和ClientApp程序集都引用Lib程序集。 他们没有互相参考。 当我能够更好地解释他们在WCF中复制此行为的尝试时,我将再次编辑它。 此时我真正知道的是他们正在使用NetNamedPipeBinding并且客户端应用程序遇到问题,他们无法访问服务程序集。 编辑: 下面是WCF测试代码的简化版本。 Lib \ IMessage.cs Lib \ IService.cs ServiceApp \ Service.cs ServiceApp \ ServiceMessage.cs ServiceApp \ ServiceProgram.cs ClientApp \ […]

如何从 INotifyPropertyChanged实现者中排除不可序列化的观察者?

我有近百个实体类看起来像这样: [Serializable] public class SampleEntity : INotifyPropertyChanged { private string name; public string Name { get { return this.name; } set { this.name = value; FirePropertyChanged(“Name”); } } [field:NonSerialized] public event PropertyChangedEventHandler PropertyChanged; private void FirePropertyChanged(string propertyName) { if (this.PropertyChanged != null) this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } 注意PropertyChanged上的[field:NonSerialized]属性。 这是必要的,因为一些观察者(在我的情况下 – 显示版本实体的网格)可能不是可序列化的,并且实体必须是可序列化的,因为它是通过远程处理由分离器机器上运行的应用程序提供的。 。 此解决方案适用于琐碎的案例。 但是,某些观察者可能是[Serializable] ,并且需要保留。 […]

频道’tcp’已经注册

我希望给定的应用程序(Windows服务)充当远程服务器以及远程客户端。 在生产中,我将运行我的应用程序的两个实例,通过.NET Remoting相互监视,并相应地报告失败。 我写了一个基本的部分,并且“已经注册了’通道’tcp’”例外..我想以编程方式设置通道配置。