Как запустить код в конструкторе службы WCF только один раз, если для ServiceBehaviorAttribute.InstanceContextMode
установлено значение PerSession
?
[ServiceBehavior(
InstanceContextMode = InstanceContextMode.PerSession,
ConcurrencyMode = ConcurrencyMode.Single)]
public class SomeService : ISomeService
{
public SomeService()
{
this.RunThisOnceForAllClients();
}
private void RunThisOnceForAllClients() { }
}
Или как сделать так, чтобы метод запускался автоматически после запуска службы WCF, но он будет запускаться только один раз для всех клиентских вызовов ?
Пожалуйста, помогите. Заранее спасибо.
Я развертываю свою службу WCF с помощью Управляемой службы Windows . Мой код в C #. Фреймворк находится в .NET 4. Проект построен в Visual Stuido 2010 Professional. Служба используется приложением Windows Forms. Если вам интересно, почему мне нужно сделать это следующим образом, мне нужно выполнить метод Uploader
, который загрузит базу данных службы в другую службу, но она будет выполнена в определенное время, поэтому я помещаю его в другой поток, который всегда будет работать, пока служба работает.