当WCF服务启动时调用一个方法
本文关键字:一个 方法 调用 WCF 服务 启动 | 更新日期: 2023-09-27 18:11:08
我有一个WCF服务(VS 2010, . net 4.0)作为Windows服务托管。我想做的是:我想要一个服务中的方法,当服务启动时执行。
我不确定你是如何使用Windows Service来托管你的WCF服务的,但我希望像@SSamra描述的那样。
无论如何,在. open ();这一行下面,你可以初始化wcf代理并调用你的方法。假设你的代理是FirstWcfProxy,然后你可以这样做,
var firstWcfProxy = new FirstWcfProxy();
// or IFirstWcfService firstWcfProxy = new FirstWcfProxy();
firstWcfProxy.YourMethod();
编辑:如果希望确保在服务启动时立即调用该方法,请在sHost.Open();下面初始化代理,并在那里调用该方法,就像我上面描述的
how about
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.ServiceProcess;
using System.ServiceModel;
namespace Windows_Service
{
public partial class WCFWindowsService : ServiceBase
{
ServiceHost m_serviceHost;
protected override void OnStart(string[] args)
{
m_serviceHost = new ServiceHost(typeof(FirstWcfService.Service));
m_serviceHost.Open();
}
protected override void OnStop()
{
if (m_serviceHost != null)
{
m_serviceHost.Close();
}
m_serviceHost = null;
}
}
}