首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用windows服务和WCF更新数据库中的某些记录?

如何使用windows服务和WCF更新数据库中的某些记录?
EN

Stack Overflow用户
提问于 2015-06-10 12:53:42
回答 1查看 50关注 0票数 0

我编写了一个wcf服务,然后使用TCP.and在windows服务中宿主wcf,然后使用命令Installutil WindowsServiceSendMail.exewindows 7上注册它。

我的问题是,当我右键单击service1(在windows 7上的窗口服务)并单击start时,服务不会启动。我读了这个文章,一步一步地向前走,但是结果没有收到。

这是解决方案中的RunProgram() wcf项目方法。

代码语言:javascript
复制
 [OperationContract]
  void RunProgram();

public void RunProgram()
{
  //code for check database
}

这是解决方案中windows服务项目中的代码。

代码语言:javascript
复制
protected override void OnStart(string[] args)
{
    if (myServiceHost != null)
    {
        myServiceHost.Close();
    }
    myServiceHost = new ServiceHost(typeof(Service1));
    myServiceHost.Open();
}

protected override void OnStop()
{
    if (myServiceHost != null)
    {
        myServiceHost.Close();
        myServiceHost = null;
    }
}

然后,我从wcf project向windows服务项目添加了一个引用。

然后使用命令Installutil WindowsServiceSendMail.exe在windows 7上注册它。

您可以从这里下载项目。

我的问题是,当我右键单击service1(在windows 7上的窗口服务)并单击start时,服务不会启动。

EN

回答 1

Stack Overflow用户

发布于 2015-06-11 08:18:19

我发现了问题所在。我改变了OnStart方法。

代码语言:javascript
复制
protected override void OnStart(string[] args)
{
    if (myServiceHost != null)
    {
        myServiceHost.Close();
    }
    myServiceHost = new ServiceHost(typeof(SendMailService));
    myServiceHost.Open();

    WcfSendMail.SendMailServiceWCF s = new WcfSendMail.SendMailServiceWCF();
    s.RunProgram();
}

发布 windows服务项目和在发布文件夹中运行setup.exe。当然,使用命令Installutil WindowsServiceSendMail.exe在windows 7上注册它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30756969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档