使用windows服务[用C#编写]使用C#

使用windows服务[用C#编写]使用C#,c#,windows-services,.net-2.0,communication,C#,Windows Services,.net 2.0,Communication,我用C#编写了一个windows服务,它在定期读取文件后执行一些功能(一种公共方法)。我是否可以从另一个C#应用程序中使用此功能?如果可能,请给出基于.net 2.0和.net 3.0的解决方案 谢谢,最干净的选择是将该功能写入一个单独的程序集(dll),您可以从服务和第二个.NET应用程序中使用该程序集 您可以引用服务程序集(即使它是一个exe,至少在VS2008中是这样),但这似乎有点过分了 如果要在运行服务的上下文中执行方法,则需要一些IPC(可能是WCF或套接字)。最干净的选项是将该功能

我用C#编写了一个windows服务,它在定期读取文件后执行一些功能(一种公共方法)。我是否可以从另一个C#应用程序中使用此功能?如果可能,请给出基于.net 2.0和.net 3.0的解决方案


谢谢,最干净的选择是将该功能写入一个单独的程序集(dll),您可以从服务和第二个.NET应用程序中使用该程序集

您可以引用服务程序集(即使它是一个exe,至少在VS2008中是这样),但这似乎有点过分了


如果要在运行服务的上下文中执行方法,则需要一些IPC(可能是WCF或套接字)。

最干净的选项是将该功能写入一个单独的程序集(dll),从服务和第二个.NET应用程序使用该程序集

您可以引用服务程序集(即使它是一个exe,至少在VS2008中是这样),但这似乎有点过分了


如果要在运行服务的上下文中执行方法,则需要一些IPC(可能是WCF或套接字)。

只需使用WCF公开它,并从其他应用程序调用它即可。它们处于不同的进程中,因此您必须使用IPC,只需使用WCF公开它,然后从其他应用程序调用它即可。它们处于不同的过程中,因此您必须使用IPC,这取决于您希望重用什么

如果要访问正在运行的窗口服务,请通过WCF公开其功能。当然,您只需要使用代码,然后将其放置在程序集中并引用其他项目/程序


我想说.net 2.0和3.0与后者相同,但由于.net 2.0 fmk没有WCF,如果您只使用.net 2.0或如我所述的WCF,我建议早期使用windows远程处理端点

取决于您想重用什么

如果要访问正在运行的窗口服务,请通过WCF公开其功能。当然,您只需要使用代码,然后将其放置在程序集中并引用其他项目/程序

我想说.net 2.0和3.0与后者相同,但由于.net 2.0 fmk没有WCF,如果您只使用.net 2.0或如我所述的WCF,我建议早期使用windows远程处理端点