WCF サービスを信頼できるものにする方法についていくつか質問があります。
セットアップ マイ サービスには 3 つの WCF サービスが含まれており、2 つは HTTP 経由の通常の Web サービスであり、もう 1 つは Protobuf を使用する TCP サービスです。TCP サービスは、Winform クライアントで可能な限り適切に機能するように、さまざまな方法でカスタマイズされています。
これは、Windows サービスでホストされます。
WCF プロジェクトには、ApplyConfiguration を使用してすべてのキャッシュ データを読み込む CustomHostServiceFactory が含まれています (すべてのサービスは、キャッシュがある場所と同じ 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) の両方から使用されます。
問題 今、これが正しいことを確認する必要があります。これを設定する理由は何ですか? サービスは、起動時にキャッシュの初期化が実行される前に呼び出しを受け取ることができますか?