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

时间:2009-06-24 10:22:03

标签: c# windows-services .net-2.0 communication

我在C#中编写了一个Windows服务,它在定期读取文件后执行某些功能(公共方法)。我可以从另一个C#应用程序中使用此功能吗?如果可能,请提供基于.net 2.0和.net 3.0

的解决方案

由于

3 个答案:

答案 0 :(得分:3)

最干净的选择是在服务和第二个.NET应用程序中使用的单独程序集(dll)中编写该功能。

可以引用服务程序集(即使它是一个exe,至少在VS2008中) - 但它似乎有点矫枉过正。

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

答案 1 :(得分:3)

只需使用WCF公开它,然后从其他应用程序中调用它。它们处于不同的过程中,因此您必须使用IPC

答案 2 :(得分:2)

取决于你想要重复使用。

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

我会说.net 2.0和3.0会与后者相同,但是因为.net 2.0 fmk没有WCF我建议如果你只使用.net 2.0的话,我建议使用windows remoting端点或者如我所述的WCF。