我有一些关于如何使我的 WCF 服务可靠的问题。
设置 我的服务包含 3 个 WCF 服务,2 个是基于 HTTP 的常规 Web 服务,另一个是使用 Protobuf 的 TCP 服务。TCP 服务以多种方式进行了定制,以使其与 Winform clikent 一起工作得尽可能好。
然后将其托管在 Windows 服务中。
WCF 项目包含一个 CustomHostServiceFactory,其中 ApplyConfiguration 用于加载所有缓存数据(所有服务使用缓存所在的相同 BLL)。
protected override void ApplyConfiguration()
{
base.ApplyConfiguration();
Startup();
}
Windows 服务在启动时包含以下内容
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;
}
此代码用于 Windows 服务中的 Main(ServiceBase) 和 OnStart(override)。
问题现在我必须确保这是正确的。为什么要设置它?服务可以在启动期间但在缓存的初始化运行之前接收调用吗?