У меня есть некоторые вопросы о том, как сделать мой сервис WCF надежным.Как сделать работу WCF надежной?
Установка Мои услуги содержат 3 службы WCF, 2 - обычный веб-сервис через HTTP, а другой - протокол TCP с использованием Protobuf. Служба TCP настроена по-разному, чтобы заставить ее работать как можно лучше с кликентом Winform.
Затем он размещается в службе Windows.
Проект WCF содержит CustomHostServiceFactory, где ApplyConfiguration используется для загрузки всех всех данных кеша (все службы используют тот же BLL, где находится кеш).
protected override void ApplyConfiguration()
{
base.ApplyConfiguration();
Startup();
}
The Windows Services содержит следующие при запуске
private ServiceHost StartService(Type serviceType)
{
ServiceHost serviceHost = null;
// Create a ServiceHost for the CalculatorService type and
// provide the base address.
Console.WriteLine("Creating service " + serviceType.FullName);
serviceHost = new ServiceHost(serviceType);
serviceHost.Opened += serviceHost_Opened;
serviceHost.Closed += serviceHost_Closed;
// Open the ServiceHostBase to create listeners and start
// listening for messages.
Console.WriteLine("Starting service...");
serviceHost.Open();
Console.WriteLine("Service started successfully");
Console.WriteLine("...");
return serviceHost;
}
Этот код, используемый используемый как из Main (ServiceBase) и от OnStart (переопределение) в службе Windows.
Задача Теперь я должен убедиться, что это правильно, почему это нужно настроить? Может ли служба получать вызов во время запуска, но до запуска инициализации кэшей?
Почему бы не зарегистрировать сбойное событие? – ilansch