C# 创建Windows服务的指南?
我正在开发一个Asp.NETMVC应用程序,它将提供Windows服务 Windows服务基本上调用一个外部的基于Soap的web服务,它接收一些参数并返回数据,Windows服务将把这些数据存储到SQL server中。此windows服务将定期自动调用外部web服务 因为我对服务没有详细的了解。你能给我讲几句话吗C# 创建Windows服务的指南?,c#,.net,wcf,web-services,windows-services,C#,.net,Wcf,Web Services,Windows Services,我正在开发一个Asp.NETMVC应用程序,它将提供Windows服务 Windows服务基本上调用一个外部的基于Soap的web服务,它接收一些参数并返回数据,Windows服务将把这些数据存储到SQL server中。此windows服务将定期自动调用外部web服务 因为我对服务没有详细的了解。你能给我讲几句话吗 实现这一目标的技术是什么 可以使用WCF创建Windows服务吗?如果是,将使用什么协议 如何在开发/测试时运行Windows服务 如何安排Windows服务调用web服务 由于您
由于您已经在使用Microsoft技术,我建议您使用C#构建一个windows服务 请查看该链接,该链接包含创建简单windows服务的所有详细信息: 在C#中创建基本Windows服务 您还需要创建一个计时器,用于调用web服务 请看这里: 更新: 1-实现这一目标的技术是什么 -->C# 2-可以使用WCF创建Windows服务吗?如果是,将使用什么协议 -->不,它们是两个不同的概念。但您可以在托管windows服务中托管WCF服务。 请看这里: 我个人不喜欢这种方法 3-如何在开发/测试时运行Windows服务 -->您可以从管理工具启动/停止/暂停windows服务 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\services.lnk 4-如何安排Windows服务调用web服务 -->在windows服务“OnStart”方法中启动计时器,该方法将调用web服务(1)查看如何从System.ServiceProcess.ServiceBase创建类,尤其是OnStart()事件
public class MyService : System.ServiceProcess.ServiceBase
{
protected override void OnStart(string[] args){}
}
(2) 无法通过wcf服务调用创建windows服务,但可以发出启动信号
(3) 我使用Release | Debug开关允许在调试模式下调试服务启动,但是,这对我来说很简单
static void Main()
{
#if (!DEBUG)
System.ServiceProcess.ServiceBase[] servicesToRun;
servicesToRun = new System.ServiceProcess.ServiceBase[] { new MyService() };
System.ServiceProcess.ServiceBase.Run(servicesToRun);
#else
MyService service= new MyService();
service.OnStart(null);
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
#endif
}
(4) 您可能需要设置服务代理计划,以便按定时间隔运行。查看线程、线程池和计时器以获取刷新数据和服务运行时。Visual Studio非常适合创建windows服务。不确定您使用的是哪个VS版本。Windows服务模板和相关功能在Visual Studio的标准版或快速版中不可用。但是你仍然可以配置这些 参考: WCF和Windows服务也不同;WCF是微软所有早期web服务技术的替代品。Windows服务是在没有UI的情况下运行的后台服务 见:
谢谢,但如果可能的话,您能回答我的问题吗。再次感谢。