通过C#Windows服务公开C#COM接口

通过C#Windows服务公开C#COM接口,c#,com,windows-services,C#,Com,Windows Services,我希望将一个遗留应用程序与一个作为Windows服务运行的较新C#组件结合起来。遗留应用程序使用COM调用,从其他遗留应用程序中的接口检索一些诊断数据。因为我无法大量修改遗留应用程序,所以我希望能够从新的C#Windows服务中公开相同的COM接口,以便恢复诊断信息。这有点复杂,因为Windows服务需要通过IoC加载实现COM接口的类,所以它甚至不知道它正在承载COM接口 我已经能够在类库中复制COM接口,登记好,并从C++测试装具中调用它。但是,当库被C#Windows服务引用时,实现类的运

我希望将一个遗留应用程序与一个作为Windows服务运行的较新C#组件结合起来。遗留应用程序使用COM调用,从其他遗留应用程序中的接口检索一些诊断数据。因为我无法大量修改遗留应用程序,所以我希望能够从新的C#Windows服务中公开相同的COM接口,以便恢复诊断信息。这有点复杂,因为Windows服务需要通过IoC加载实现COM接口的类,所以它甚至不知道它正在承载COM接口


<>我已经能够在类库中复制COM接口,登记好,并从C++测试装具中调用它。但是,当库被C#Windows服务引用时,实现类的运行实例不是调用的实例。有人知道实现这一目标的方法吗?我觉得我需要在运行时注册实现类,比如C++,但是我不知道如何做。p> 旧版应用程序是否使用进程外COM服务器?在C语言中,这样做是丑陋的,考虑一个进程服务器,它只与WCF之类的.NET设备进行服务。我认为通过WCFR使用In PROC服务器是在汉斯上进行的。昨晚在回家的路上,我确实想过这个问题。这是一个更整洁的解决方案,也是我想要的。旧版应用程序是否使用进程外的COM服务器?在C语言中,这样做是丑陋的,考虑一个进程服务器,它只与WCF之类的.NET设备进行服务。我认为通过WCFR使用In PROC服务器是在汉斯上进行的。昨晚在回家的路上,我确实想过这个问题。这是一个更整洁的解决方案,也是我想要的。