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