C# 如何在dll和exe之间进行通信?

C# 如何在dll和exe之间进行通信?,c#,C#,我有一个dll,它必须从运行的exe中获取一些值。那么我可以通过WCF来完成吗?i、 e每当请求从dll发送到服务时,该服务应请求运行exe并给出结果。我指的dll是EXcel中使用的COM dll。能做到吗?是的,WCF完全有能力做到这一点。但是您还必须向正在运行的可执行文件添加一些代码。我想这是可能的 来自微软 *编辑:*正如Gabriel指出的,我假设DLL已经被其他可执行文件或网站使用。A.DLL本身不是一个应用程序。它应该包含在应用程序(.exe)中。 下面是一个关于如何使用.dll的

我有一个dll,它必须从运行的exe中获取一些值。那么我可以通过WCF来完成吗?i、 e每当请求从dll发送到服务时,该服务应请求运行exe并给出结果。我指的dll是EXcel中使用的COM dll。能做到吗?

是的,WCF完全有能力做到这一点。但是您还必须向正在运行的可执行文件添加一些代码。我想这是可能的

来自微软


*编辑:*正如Gabriel指出的,我假设DLL已经被其他可执行文件或网站使用。

A.DLL本身不是一个应用程序。它应该包含在应用程序(.exe)中。

下面是一个关于如何使用.dll的链接:

WCF的可能副本是明确和可选的,使用REST,您可以使用xml或json格式轻松地以明文来回发送值。这不是上述问题的副本@Henk,而是围绕该问题。我需要WCF作为exe和dll之间的公共联系人。它可能不会获得5票赞成票。但这是你的第二次尝试,基本信息(COM)还是要从你身上挤出。我看过教程,就像我必须在服务合同中有方法一样,这些方法可以从任何地方调用。但是如何在服务内部调用exe的方法呢?你必须更清楚一点。我不能告诉你,因为我不知道应用程序的结构。我有一个在Excel中使用的COMdll。每当从Excel调用此dll的某些方法时,我必须从exe中获取一些动态值,或者我必须运行正在运行的exe的某些方法。所以我想我会保持WCF作为中间产品,并满足要求。但是在开始之前,我需要知道这是可能的吗?那么COMdll(写在.NET中?)会调用可执行文件吗?如果COMdll是用.NET编写的,则是可能的。DLL只需要知道WCF服务运行的位置(地址)和服务实现的接口(契约)。是的,COMdll在.NET中。但是WCF是如何与exe的方法通信的呢?谢谢你给了我-1而没有对我的回答发表任何评论。不,我没有给-1。如果我在exe中引用dll,我认为它将是单独的实例。我使用的这个dll作为Excel中引用的COM dll,它在内部调用这个dll中的方法。@Ershad请将此信息添加到您的问题中,以使其更清楚。当我第一次阅读这个问题时,我了解到dll是由它想要从中收集数据的同一个应用程序加载的。这就是我贴出答案的原因。你的答案中有一些是正确的。我在你的帖子上给出+1;)