我需要开发一个Windows服务,每两周将文件传输到系统中。问题是我还需要一个“RunNow”方法,这样用户可以通过在Web应用程序(ASP.NET MVC)中的链接上单击来随时调用传输方法。 我该如何从外部资源调用我的Windows服务方法?
如果您想在Web应用程序的服务器端调用Windows服务方法,则可以查看WCF或RestSharp和Nancy。简而言之,您需要在Windows服务应用程序中创建一个RESTful服务,该服务将使用http://localhost/myservice/transfer地址来公开Transfer方法。然后,从您的JavaScript代码中使用ajax或从您的.net-controller类中使用RestRequest来调用该地址。 但是,如果您想在应用程序的客户端上调用Windows服务方法,则会有问题。
你可以使用微软消息队列。Web应用程序会发送一条消息,由服务接收。 ASP.NET MVC Web应用程序中基于队列的后台处理 http://msdn.microsoft.com/en-us/library/ms978430.aspx